Versions in this module Expand all Collapse all v1 v1.0.0 Aug 25, 2026 Changes in this version + var ErrCompileState = errors.New("invalid router compile state") + var ErrConflict = errors.New("route conflict") + var ErrDuplicateName = errors.New("duplicate route name") + var ErrGeneration = errors.New("route generation failed") + var ErrInvalidParameter = errors.New("invalid route parameter") + var ErrInvalidRoute = errors.New("invalid route") + var ErrLimitExceeded = errors.New("router limit exceeded") + var ErrUnsupported = errors.New("unsupported routing behavior") + type BaseURL struct + func NewBaseURL(scheme, authority string) (BaseURL, error) + type Builder struct + func New(options ...Option) *Builder + func (b *Builder) Compile() (*Router, error) + func (b *Builder) Group(options GroupOptions, define func(*Builder) error) error + func (b *Builder) Mount(prefix string, handler http.Handler, options MountOptions) error + func (b *Builder) PendingRoutes() []Route + func (b *Builder) Register(route Route) error + type Error struct + Detail string + Field string + Kind error + Source string + func (e *Error) Error() string + func (e *Error) Unwrap() error + type GroupOptions struct + Host string + Metadata map[string]string + Middleware []NamedMiddleware + NamePrefix string + PathPrefix string + type Limits struct + MaxDocumentationBytes int + MaxGeneratedURLBytes int + MaxGroupDepth int + MaxGroups int + MaxHostBytes int + MaxMetadataEntries int + MaxMetadataKeyBytes int + MaxMetadataValueBytes int + MaxMethodBytes int + MaxMethodsPerRoute int + MaxMiddleware int + MaxNameBytes int + MaxOperationBytes int + MaxPatternBytes int + MaxQueryBytes int + MaxQueryValues int + MaxRequestTargetBytes int + MaxRoutes int + MaxSourceBytes int + MaxURLParameterBytes int + MaxURLParameters int + MaxWildcardNameBytes int + MaxWildcardsPerRoute int + func DefaultLimits() Limits + type Middleware = func(http.Handler) http.Handler + type MountOptions struct + Documentation string + Host string + Metadata map[string]string + Methods []string + Middleware []NamedMiddleware + Name string + Operation string + Source string + StripPrefix bool + type NamedMiddleware struct + Middleware Middleware + Name string + type Option func(*Builder) + func WithAutomaticOPTIONS(enabled bool) Option + func WithLimits(limits Limits) Option + func WithMethodNotAllowed(handler http.Handler) Option + func WithMiddleware(middleware ...NamedMiddleware) Option + func WithNotFound(handler http.Handler) Option + func WithRedirectPolicy(policy RedirectPolicy) Option + type RedirectPolicy uint8 + const FollowRedirects + const RejectRedirects + type Route struct + Documentation string + ExcludeMiddleware []string + Handler http.Handler + Host string + Metadata map[string]string + Methods []string + Middleware []NamedMiddleware + Name string + Operation string + Path string + Source string + type RouteInfo struct + Documentation string + Host string + Metadata map[string]string + Methods []string + Middleware []string + Name string + Operation string + Parameters []string + Pattern string + Source string + func MatchedRoute(request *http.Request) (RouteInfo, bool) + type Router struct + func (r *Router) Path(name string, parameters ...URLParameter) (string, error) + func (r *Router) Routes() []RouteInfo + func (r *Router) ServeHTTP(writer http.ResponseWriter, request *http.Request) + func (r *Router) URL(name string, base BaseURL, query url.Values, parameters ...URLParameter) (string, error) + type URLParameter struct + func Param(name, value string) URLParameter + func Remainder(name string, segments ...string) URLParameter