Documentation ¶
Index ¶
- type Chain
- type HTTPRouter
- func (h HTTPRouter) Handle(protocol, route string, handler http.HandlerFunc)
- func (h HTTPRouter) Handler() http.Handler
- func (h HTTPRouter) Param(ctx context.Context, name string) string
- func (h HTTPRouter) SetParam(ctx context.Context, name, value string)
- func (h HTTPRouter) SetRedirectTrailingSlash(enabled bool)
- type HandlerFuncC
- type Routeable
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Chain ¶
Chain is an helper to chain middleware handlers together for an easier management.
func (Chain) Handler ¶
Handler wraps the provided final handler with all the middleware appended to the chain and return a new standard http.Handler instance. The context.Background() context is injected automatically.
type HTTPRouter ¶
type HTTPRouter struct {
// contains filtered or unexported fields
}
HTTPRouter default router implementation for api2go
func (HTTPRouter) Handle ¶
func (h HTTPRouter) Handle(protocol, route string, handler http.HandlerFunc)
Handle each method like before and wrap them into julienschmidt handler func style
func (HTTPRouter) SetRedirectTrailingSlash ¶
func (h HTTPRouter) SetRedirectTrailingSlash(enabled bool)
SetRedirectTrailingSlash wraps this internal functionality of the julienschmidt router.
type HandlerFuncC ¶
type Routeable ¶
type Routeable interface { // Handler should return the routers main handler, often this is the router itself Handler() http.Handler // Handle must be implemented to register api2go's default routines // to your used router. // protocol will be PATCH,OPTIONS,GET,POST,PUT // route will be the request route /items/:id where :id means dynamically filled params // handler is the handler that will answer to this specific route Handle(protocol, route string, handler http.HandlerFunc) Param(context.Context, string) string SetParam(context.Context, string, string) }
Routeable allows drop in replacement for api2go's router by default, we are using julienschmidt/httprouter but you can use any router that has similiar features e.g. gin