routing

package
v2.5.14+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 21, 2024 License: MIT Imports: 2 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type HTTPRouter

type HTTPRouter struct {
	// contains filtered or unexported fields
}

HTTPRouter default router implementation for api2go

func (HTTPRouter) GetRouteParameter

func (h HTTPRouter) GetRouteParameter(r http.Request, param string) string

GetRouteParameter implemention will extract the param the julienschmidt way

func (HTTPRouter) Handle

func (h HTTPRouter) Handle(protocol, route string, handler HandlerFunc)

Handle each method like before and wrap them into julienschmidt handler func style

func (HTTPRouter) Handler

func (h HTTPRouter) Handler() http.Handler

Handler returns the router

func (*HTTPRouter) SetRedirectTrailingSlash

func (h *HTTPRouter) SetRedirectTrailingSlash(enabled bool)

SetRedirectTrailingSlash wraps this internal functionality of the julienschmidt router.

type HandlerFunc

type HandlerFunc func(w http.ResponseWriter, r *http.Request, params map[string]string)

HandlerFunc must contain all params from the route in the form key,value

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 HandlerFunc)
}

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

func NewHTTPRouter

func NewHTTPRouter(prefix string, notAllowedHandler http.Handler) Routeable

NewHTTPRouter returns a new instance of julienschmidt/httprouter this is the default router when using api2go

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL