Documentation ¶
Index ¶
- type ContextProvider
- type Handler
- type HandlerArgs
- type Middleware
- type MiddlewareArgs
- type MiddlewareFunc
- type Request
- type ResponseWriter
- type ResponseWritten
- type Router
- func (rt *Router) DELETE(pathPrefix string, h Handler)
- func (rt *Router) GET(pathPrefix string, h Handler)
- func (rt *Router) NewGroup(pathPrefix string, middlewareFuncs ...MiddlewareFunc) *Router
- func (rt *Router) POST(pathPrefix string, h Handler)
- func (rt *Router) PUT(pathPrefix string, h Handler)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ContextProvider ¶
ContextProvider is a function to create Context for each request
type Handler ¶
type Handler func(ctx context.Context, args HandlerArgs)
Handler is a implementation of a endpoint
type HandlerArgs ¶
type HandlerArgs struct { W ResponseWriter R Request PS httprouter.Params }
HandlerArgs holds arguments of handler invoke
type Middleware ¶
type Middleware func(ctx context.Context, args MiddlewareArgs, next func(context.Context, MiddlewareArgs))
Middleware is a filter that request passes
func WrapMiddleware ¶
func WrapMiddleware(m func(http.Handler) http.Handler) Middleware
WrapMiddleware wraps standard net/http middleware as Middleware
type MiddlewareArgs ¶
type MiddlewareArgs struct {
HandlerArgs
}
MiddlewareArgs holds arguments of middleware invoke
type MiddlewareFunc ¶
type MiddlewareFunc func(method string, path string) Middleware
MiddlewareFunc is a function to dynamically create Middleware
func AsMiddlewareFunc ¶
func AsMiddlewareFunc(m Middleware) MiddlewareFunc
AsMiddlewareFunc wraps Middleware as MiddlewareFunc
type Request ¶
Request wraps http.Request
func (Request) GetQueryParam ¶
GetQueryParam returns URL query parameter or ""
func (Request) GetQueryParamOrDefault ¶
GetQueryParamOrDefault returns URL query parameter or ""
type ResponseWriter ¶
type ResponseWriter interface { Header() http.Header Write([]byte) (int, error) WriteHeader(statusCode int) Written() ResponseWritten }
ResponseWriter extends net/http ResponseWriter
func NewResponseWriter ¶
func NewResponseWriter(w http.ResponseWriter) ResponseWriter
NewResponseWriter wraps writer
type ResponseWritten ¶
ResponseWritten is summary of written data
type Router ¶
type Router struct {
// contains filtered or unexported fields
}
Router represents tree of endpoints
func NewRouter ¶
func NewRouter(cp ContextProvider, r *httprouter.Router, pathPrefix string, middlewareFuncs ...MiddlewareFunc) *Router
NewRouter creates new router (root node of router tree)
func (*Router) NewGroup ¶
func (rt *Router) NewGroup(pathPrefix string, middlewareFuncs ...MiddlewareFunc) *Router
NewGroup creates new child node of the router tree