package httprest import ( "time" "net/http" "github.com/OffchainLabs/prysm/v6/api/server/middleware" ) // Option is a http rest server functional parameter type. type Option func(g *Server) error // WithMiddlewares sets the list of middlewares to be applied on routes. func WithMiddlewares(mw []middleware.Middleware) Option { return func(g *Server) error { g.cfg.middlewares = mw return nil } } // WithHTTPAddr sets the full address ( host and port ) of the server. func WithHTTPAddr(addr string) Option { return func(g *Server) error { g.cfg.httpAddr = addr return nil } } // WithRouter sets the internal router of the server, this is required. func WithRouter(r *http.ServeMux) Option { return func(g *Server) error { g.cfg.router = r return nil } } // WithTimeout allows changing the timeout value for API calls. func WithTimeout(duration time.Duration) Option { return func(g *Server) error { g.cfg.timeout = duration return nil } }