Documentation ¶
Index ¶
- Constants
- func HandlerWrapper(handler Handler) http.Handler
- func RedirectWithNextURL(r *request.Request, nextURL string)
- func ToHTTPHandler(h Handler) http.Handler
- func WalkRoutes(route *Route, f func(*Route, int))
- type Config
- type HandleFunc
- type Handler
- type Middleware
- type Registrar
- type Route
- func (r *Route) AddGroup(group Registrar)
- func (r *Route) Any(path string, handler HandleFunc) Registrar
- func (r *Route) Delete(path string, handler HandleFunc) Registrar
- func (r *Route) DisableMiddleware()
- func (r *Route) Get(path string, handler HandleFunc) Registrar
- func (r *Route) Group(path string, middlewares ...Middleware) Registrar
- func (r *Route) Handle(method, path string, handler http.Handler) Registrar
- func (r *Route) HandleFunc(method, path string, handler HandleFunc) Registrar
- func (r *Route) Head(path string, handler HandleFunc) Registrar
- func (r *Route) Match(method, path string) (bool, *Route, request.URLParams)
- func (r *Route) Options(path string, handler HandleFunc) Registrar
- func (r *Route) Patch(path string, handler HandleFunc) Registrar
- func (r *Route) Post(path string, handler HandleFunc) Registrar
- func (r *Route) Put(path string, handler HandleFunc) Registrar
- func (r *Route) URL(args ...any) string
- func (r *Route) Use(middlewares ...Middleware)
- type Router
- func (r *Router) AddGroup(group Registrar)
- func (r *Router) Any(path string, handler HandleFunc) Registrar
- func (r *Router) Delete(path string, handler HandleFunc) Registrar
- func (r *Router) Get(path string, handler HandleFunc) Registrar
- func (r *Router) Group(path string, middlewares ...Middleware) Registrar
- func (r *Router) Handle(method, path string, handler http.Handler) Registrar
- func (r *Router) HandleFunc(method, path string, handler HandleFunc) Registrar
- func (r *Router) Head(path string, handler HandleFunc) Registrar
- func (r *Router) Listen() error
- func (r *Router) ListenTLS(certFile, keyFile string) error
- func (r *Router) Options(path string, handler HandleFunc) Registrar
- func (r *Router) Patch(path string, handler HandleFunc) Registrar
- func (r *Router) Post(path string, handler HandleFunc) Registrar
- func (r *Router) Put(path string, handler HandleFunc) Registrar
- func (r *Router) ServeHTTP(w http.ResponseWriter, req *http.Request)
- func (r *Router) SiteMap() []byte
- func (r *Router) Use(middlewares ...Middleware)
- type Vars
Constants ¶
const ( GET = "GET" POST = "POST" PUT = "PUT" DELETE = "DELETE" PATCH = "PATCH" OPTIONS = "OPTIONS" HEAD = "HEAD" // Special method for matching all methods ALL = "ALL" )
HTTP Methods
Variables ¶
This section is empty.
Functions ¶
func HandlerWrapper ¶
Wrapper function for router.Handler to make it compatible with http.handler
func RedirectWithNextURL ¶ added in v2.0.1
Redirect user to a URL, appending the current URL as a "next" query parameter
func ToHTTPHandler ¶ added in v2.0.5
Make a new http.Handler from a Handler
func WalkRoutes ¶
Recurse over a routes children, keeping track of depth
Types ¶
type Config ¶ added in v2.1.3
type Config struct { // The address to listen on Host string Port int // Wether to skip trailing slashes SkipTrailingSlash bool // The server to use Server *http.Server NotFoundHandler Handler }
Configuration options for the router, and serving.
type HandleFunc ¶
HandleFunc is the function that is called when a route is matched
func HTTPWrapper ¶
func HTTPWrapper(handler func(http.ResponseWriter, *http.Request)) HandleFunc
Wrapper function for http.Handler to make it compatible with HandleFunc
type Handler ¶
Handler is the interface that wraps the ServeHTTP method.
func FromHTTPHandler ¶ added in v2.0.8
Make a new handler from a http.Handler
type Middleware ¶ added in v2.0.8
Middleware is the function that is called when a route is matched
type Registrar ¶
type Registrar interface { // Put registers a new route with the given path and method. Put(path string, handler HandleFunc) Registrar // Post registers a new route with the given path and method. Post(path string, handler HandleFunc) Registrar // Get registers a new route with the given path and method. Get(path string, handler HandleFunc) Registrar // Delete registers a new route with the given path and method. Delete(path string, handler HandleFunc) Registrar // Patch registers a new route with the given path and method. Patch(path string, handler HandleFunc) Registrar // Options registers a new route with the given path and method. Options(path string, handler HandleFunc) Registrar // Head registers a new route with the given path and method. Head(path string, handler HandleFunc) Registrar // Register a route for all methods Any(path string, handler HandleFunc) Registrar // HandleFunc registers a new route with the given path and method. HandleFunc(method, path string, handler HandleFunc) Registrar // Handle is a convenience method that wraps the http.Handler in a HandleFunc Handle(method, path string, handler http.Handler) Registrar // Use adds middleware to the router. Use(middlewares ...Middleware) // Group creates a new router URL group Group(path string, middlewares ...Middleware) Registrar // Addgroup adds a group of routes to the router AddGroup(group Registrar) // This is the only function the router does not implement. // Formats the URL for the given route, based on the given arguments. URL(args ...any) string }
Registrar is the main interface for registering routes
type Route ¶
type Route struct { Method string Path string HandlerFunc HandleFunc // contains filtered or unexported fields }
Route is a single route in the router
func (*Route) Any ¶
func (r *Route) Any(path string, handler HandleFunc) Registrar
Register a route for all methods
func (*Route) Delete ¶
func (r *Route) Delete(path string, handler HandleFunc) Registrar
Delete registers a new route with the given path and method.
func (*Route) DisableMiddleware ¶ added in v2.0.1
func (r *Route) DisableMiddleware()
Disable the router's middlewares for this route, and all its children It will however still run the route's own middlewares.
func (*Route) Get ¶
func (r *Route) Get(path string, handler HandleFunc) Registrar
Get registers a new route with the given path and method.
func (*Route) Group ¶
func (r *Route) Group(path string, middlewares ...Middleware) Registrar
Group creates a new group of routes
func (*Route) HandleFunc ¶
func (r *Route) HandleFunc(method, path string, handler HandleFunc) Registrar
HandleFunc registers a new route with the given path and method.
func (*Route) Head ¶
func (r *Route) Head(path string, handler HandleFunc) Registrar
Head registers a new route with the given path and method.
func (*Route) Options ¶
func (r *Route) Options(path string, handler HandleFunc) Registrar
Options registers a new route with the given path and method.
func (*Route) Patch ¶
func (r *Route) Patch(path string, handler HandleFunc) Registrar
Patch registers a new route with the given path and method.
func (*Route) Post ¶
func (r *Route) Post(path string, handler HandleFunc) Registrar
Post registers a new route with the given path and method.
func (*Route) Put ¶
func (r *Route) Put(path string, handler HandleFunc) Registrar
Put registers a new route with the given path and method.
type Router ¶
type Router struct {
// contains filtered or unexported fields
}
Router is the main router struct It takes care of dispatching requests to the correct route
func (*Router) Any ¶
func (r *Router) Any(path string, handler HandleFunc) Registrar
Register a route for all methods
func (*Router) Delete ¶
func (r *Router) Delete(path string, handler HandleFunc) Registrar
Delete registers a new route with the given path and method.
func (*Router) Get ¶
func (r *Router) Get(path string, handler HandleFunc) Registrar
Get registers a new route with the given path and method.
func (*Router) Group ¶
func (r *Router) Group(path string, middlewares ...Middleware) Registrar
Group creates a new router URL group
func (*Router) HandleFunc ¶
func (r *Router) HandleFunc(method, path string, handler HandleFunc) Registrar
HandleFunc registers a new route with the given path and method.
func (*Router) Head ¶
func (r *Router) Head(path string, handler HandleFunc) Registrar
Head registers a new route with the given path and method.
func (*Router) Options ¶
func (r *Router) Options(path string, handler HandleFunc) Registrar
Options registers a new route with the given path and method.
func (*Router) Patch ¶
func (r *Router) Patch(path string, handler HandleFunc) Registrar
Patch registers a new route with the given path and method.
func (*Router) Post ¶
func (r *Router) Post(path string, handler HandleFunc) Registrar
Post registers a new route with the given path and method.
func (*Router) Put ¶
func (r *Router) Put(path string, handler HandleFunc) Registrar
Put registers a new route with the given path and method.
func (*Router) ServeHTTP ¶
func (r *Router) ServeHTTP(w http.ResponseWriter, req *http.Request)
ServeHTTP dispatches the request to the handler whose pattern matches the request URL.
func (*Router) Use ¶
func (r *Router) Use(middlewares ...Middleware)
Use adds middleware to the router.