Versions in this module Expand all Collapse all v0 v0.1.2 May 8, 2026 Changes in this version + func RegisterRouter(routerType RouterType, newRouter NewRouterFunc) type Context + SetPathParamGetter func(fn PathParamGetter) + type NewRouterFunc func() Router + type PathParamGetter interface + Get func(name string) string v0.1.1 May 8, 2026 Changes in this version + type OptionFunc func(app *App) v0.1.0 May 8, 2026 Changes in this version + const CatchAllPathParamCtxKey + const ContextKey + const HandlerFoundKey + const HandlerKey + const HeaderContentDisposition + const HeaderContentType + const HeaderLocation + const HeaderXRequestID + const LoggerCtxKey + const MIMEApplicationJSON + const PathParamsCtxKey + const PathRawParamsCtxKey + const RequestIDKey + func SetHandlerInCtx(ctx Context, h HandlerFunc) + func WithErrorHandler(handler func(Context, error) error) optionFunc + func WithNotFoundHandler(handler HandlerFunc) optionFunc + func WithPrefix(prefix string) optionFunc + func WithRouterType(typ RouterType) optionFunc + type App struct + func New(options ...optionFunc) *App + func (app *App) Any(pattern string, handler HandlerFunc, middleware ...MiddlewareFunc) + func (app *App) Delete(pattern string, handler HandlerFunc, middleware ...MiddlewareFunc) + func (app *App) ErrorHandler(handler func(Context, error) error) + func (app *App) Get(pattern string, handler HandlerFunc, middleware ...MiddlewareFunc) + func (app *App) Group(prefix string, middleware ...MiddlewareFunc) *Group + func (app *App) Handle(method, pattern string, handler HandlerFunc, middleware ...MiddlewareFunc) + func (app *App) Head(pattern string, handler HandlerFunc, middleware ...MiddlewareFunc) + func (app *App) Logger() *slog.Logger + func (app *App) NotFound(handler HandlerFunc) + func (app *App) Options(pattern string, handler HandlerFunc, middleware ...MiddlewareFunc) + func (app *App) Patch(pattern string, handler HandlerFunc, middleware ...MiddlewareFunc) + func (app *App) Post(pattern string, handler HandlerFunc, middleware ...MiddlewareFunc) + func (app *App) Put(pattern string, handler HandlerFunc, middleware ...MiddlewareFunc) + func (app *App) ServeHTTP(w http.ResponseWriter, r *http.Request) + func (app *App) Start(address string) error + func (app *App) Static(pattern string, root string) + func (app *App) Use(middleware ...MiddlewareFunc) + type ChiMux struct + func (router *ChiMux) FormatSegment(seg Segment) string + func (router *ChiMux) Handle(method, pattern string, h HandlerFunc, middleware ...MiddlewareFunc) + func (router *ChiMux) Match(w http.ResponseWriter, r *http.Request) (HandlerFunc, PathParamsFunc, bool) + func (router *ChiMux) Use(middlewares ...MiddlewareFunc) + type Context interface + AddHeader func(key string, value string) + Blob func(code int, contentType string, b []byte) error + Context func() context.Context + Cookie func(name string) (*http.Cookie, error) + Cookies func() []*http.Cookie + DelHeader func(key string) + FormFile func(name string) (*multipart.FileHeader, error) + FormParam func(name string) string + Get func(key interface{}) interface{} + Header func(key string) string + JSON func(code int, i interface{}) error + Logger func() *slog.Logger + Method func() string + MultipartForm func() (*multipart.Form, error) + PathParam func(name string) string + QueryParam func(name string) string + QueryParams func() url.Values + QueryString func() string + Redirect func(code int, url string) error + Request func() *http.Request + Reset func(r *http.Request, w http.ResponseWriter, logger *slog.Logger) + Response func() http.ResponseWriter + Set func(key, value interface{}) + SetCookie func(cookie *http.Cookie) + SetHeader func(key string, value string) + SetPathParam func(fn PathParams) + SetRequest func(r *http.Request) + SetResponse func(r http.ResponseWriter) + Stream func(code int, contentType string, r io.Reader) error + String func(code int, s string) error + func MustGetContextFromRequest(r *http.Request) Context + func NewContext(w http.ResponseWriter, r *http.Request) Context + type EchoMux struct + func (router *EchoMux) FormatSegment(seg Segment) string + func (router *EchoMux) Handle(method, pattern string, h HandlerFunc, middleware ...MiddlewareFunc) + func (router *EchoMux) Match(w http.ResponseWriter, r *http.Request) (HandlerFunc, PathParamsFunc, bool) + func (router *EchoMux) Use(middlewares ...MiddlewareFunc) + type ErrorHandlerFunc func(ctx Context, err error) error + type GinMux struct + func (router *GinMux) FormatSegment(seg Segment) string + func (router *GinMux) Handle(method, pattern string, h HandlerFunc, middleware ...MiddlewareFunc) + func (router *GinMux) Match(w http.ResponseWriter, r *http.Request) (HandlerFunc, PathParamsFunc, bool) + func (router *GinMux) Use(middlewares ...MiddlewareFunc) + type GorillaMux struct + func (router *GorillaMux) FormatSegment(seg Segment) string + func (router *GorillaMux) Handle(method, pattern string, h HandlerFunc, middleware ...MiddlewareFunc) + func (router *GorillaMux) Match(w http.ResponseWriter, r *http.Request) (HandlerFunc, PathParamsFunc, bool) + func (router *GorillaMux) Use(middlewares ...MiddlewareFunc) + type Group struct + func (g *Group) Any(pattern string, handler HandlerFunc, middleware ...MiddlewareFunc) + func (g *Group) Delete(pattern string, handler HandlerFunc, middleware ...MiddlewareFunc) + func (g *Group) Get(pattern string, handler HandlerFunc, middleware ...MiddlewareFunc) + func (g *Group) Group(prefix string, middleware ...MiddlewareFunc) *Group + func (g *Group) Handle(method, pattern string, handler HandlerFunc, middleware ...MiddlewareFunc) + func (g *Group) Head(pattern string, handler HandlerFunc, middleware ...MiddlewareFunc) + func (g *Group) Options(pattern string, handler HandlerFunc, middleware ...MiddlewareFunc) + func (g *Group) Patch(pattern string, handler HandlerFunc, middleware ...MiddlewareFunc) + func (g *Group) Post(pattern string, handler HandlerFunc, middleware ...MiddlewareFunc) + func (g *Group) Put(pattern string, handler HandlerFunc, middleware ...MiddlewareFunc) + func (g *Group) Use(middleware ...MiddlewareFunc) + type HandlerFunc func(ctx Context) error + func MustGetHandlerFromCtx(ctx Context) HandlerFunc + func WrapHandler(h http.Handler) HandlerFunc + func WrapHandlerFunc(h http.HandlerFunc) HandlerFunc + type HttpServeMux struct + func (router *HttpServeMux) FormatSegment(seg Segment) string + func (router *HttpServeMux) Handle(method, pattern string, h HandlerFunc, middleware ...MiddlewareFunc) + func (router *HttpServeMux) Match(w http.ResponseWriter, r *http.Request) (HandlerFunc, PathParamsFunc, bool) + func (router *HttpServeMux) Use(middlewares ...MiddlewareFunc) + type HttprouterMux struct + func (router *HttprouterMux) FormatSegment(seg Segment) string + func (router *HttprouterMux) Handle(method, pattern string, h HandlerFunc, middleware ...MiddlewareFunc) + func (router *HttprouterMux) Match(w http.ResponseWriter, r *http.Request) (HandlerFunc, PathParamsFunc, bool) + func (router *HttprouterMux) Use(middlewares ...MiddlewareFunc) + type HttprouterMuxPathParams struct + func (pp *HttprouterMuxPathParams) Get(name string) string + type MiddlewareFunc func(next HandlerFunc) HandlerFunc + func WrapMiddleware(m func(http.Handler) http.Handler) MiddlewareFunc + type PathParams interface + Get func(name string) string + func NewHttprouterMuxPathParams(ctx Context) PathParams + type PathParamsFunc func(ctx Context) PathParams + type Router interface + FormatSegment func(seg Segment) string + Handle func(method, pattern string, h HandlerFunc, middleware ...MiddlewareFunc) + Match func(w http.ResponseWriter, r *http.Request) (HandlerFunc, PathParamsFunc, bool) + Use func(middleware ...MiddlewareFunc) + type RouterType string + const RouterTypeChi + const RouterTypeEcho + const RouterTypeGin + const RouterTypeGorillaMux + const RouterTypeHttprouter + const RouterTypeStd + type Segment struct + Name string + Raw string + Type SegmentType + func ParsePath(pattern string) []Segment + type SegmentType int + const CatchAll + const Param + const Static + type Skipper func(ctx Context) bool