Versions in this module Expand all Collapse all v1 v1.8.0 Feb 19, 2025 Changes in this version + type MiddlewaresConf struct + Breaker bool + Gunzip bool + Log bool + MaxBytes bool + MaxConns bool + Metrics bool + Prometheus bool + Recover bool + Shedding bool + Timeout bool + Trace bool type RestConf + Middlewares MiddlewaresConf + TraceIgnorePaths []string type RouteOption + func WithMaxBytes(maxBytes int64) RouteOption type RunOption + func WithChain(chn chain.Chain) RunOption + func WithCorsHeaders(headers ...string) RunOption + func WithFileServer(path string, fs http.FileSystem) RunOption type Server + func (s *Server) PrintRoutes() + func (s *Server) Routes() []Route + func (s *Server) StartWithOpts(opts ...StartOption) + type StartOption = internal.StartOption v1.3.0 Feb 23, 2022 Changes in this version type RouteOption + func WithPrefix(group string) RouteOption + func WithTimeout(timeout time.Duration) RouteOption type RunOption + func WithCors(origin ...string) RunOption + func WithCustomCors(middlewareFn func(header http.Header), notAllowedFn func(http.ResponseWriter), ...) RunOption + func WithTLSConfig(cfg *tls.Config) RunOption v1.1.9 Jun 19, 2024 v1.1.8 Nov 4, 2022 v1.1.6 Jul 7, 2022 v1.1.5 Mar 8, 2021 Changes in this version + var ErrSignatureConfig = errors.New("bad config for Signature") + func CorsHandler(origins ...string) http.Handler + type Middleware func(next http.HandlerFunc) http.HandlerFunc + func ToMiddleware(handler func(next http.Handler) http.Handler) Middleware + type PrivateKeyConf struct + Fingerprint string + KeyFile string + type RestConf struct + CertFile string + CpuThreshold int64 + Host string + KeyFile string + MaxBytes int64 + MaxConns int + Port int + Signature SignatureConf + Timeout int64 + Verbose bool + type Route struct + Handler http.HandlerFunc + Method string + Path string + func WithMiddleware(middleware Middleware, rs ...Route) []Route + func WithMiddlewares(ms []Middleware, rs ...Route) []Route + type RouteOption func(r *featuredRoutes) + func WithJwt(secret string) RouteOption + func WithJwtTransition(secret, prevSecret string) RouteOption + func WithPriority() RouteOption + func WithSignature(signature SignatureConf) RouteOption + type RunOption func(*Server) + func WithNotAllowedHandler(handler http.Handler) RunOption + func WithNotFoundHandler(handler http.Handler) RunOption + func WithRouter(router httpx.Router) RunOption + func WithUnauthorizedCallback(callback handler.UnauthorizedCallback) RunOption + func WithUnsignedCallback(callback handler.UnsignedCallback) RunOption + type Server struct + func MustNewServer(c RestConf, opts ...RunOption) *Server + func NewServer(c RestConf, opts ...RunOption) (*Server, error) + func (e *Server) AddRoute(r Route, opts ...RouteOption) + func (e *Server) AddRoutes(rs []Route, opts ...RouteOption) + func (e *Server) Start() + func (e *Server) Stop() + func (e *Server) Use(middleware Middleware) + type SignatureConf struct + Expiry time.Duration + PrivateKeys []PrivateKeyConf + Strict bool