Documentation ¶
Index ¶
- func NopMiddleware(method, path string, h http.Handler) http.Handler
- func ReadFile(fs http.FileSystem, name string) ([]byte, error)
- func TemplateHandler(t *template.Template, fn func(*http.Request) interface{}) http.Handler
- type Dir
- type Middleware
- type MiddlewareFilterer
- type ReqValue
- type Route
- type SPAConf
- type Server
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Dir ¶
type Dir struct {
// contains filtered or unexported fields
}
Dir is an http.Filesystem that extends Dir and provides the ability to server arbitrary files
type Middleware ¶
Middleware takes an http route and spits out a new handler
var H2C Middleware = MiddlewareFunc("h2c", func(method, path string, h http.Handler) http.Handler { s := &http2.Server{} h = h2c.NewHandler(h, s) return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { h.ServeHTTP(w, r) }) })
H2C wraps a handler and provides support for upgrading to h2c
func AccessLogger ¶
func AccessLogger(w io.Writer) Middleware
AccessLogger logs to w when requests come in the apache log format
func MiddlewareFilterFunc ¶
func MiddlewareFilterFunc(id string, fn func([]Middleware) []Middleware) Middleware
func MiddlewareFunc ¶
func MiddlewareFunc(id string, fn func(method, path string, h http.Handler) http.Handler) Middleware
MiddlewareFunc is a helper for defining middleware
func SkipMiddleware ¶
func SkipMiddleware(smws ...Middleware) Middleware
SkipMiddleware returns a MiddlewareFilter to skip specific middleware
type MiddlewareFilterer ¶
type MiddlewareFilterer interface { Middleware Filter([]Middleware) []Middleware }
type ReqValue ¶
type ReqValue string
ReqValue is a value pulled from the request
func ParamValue ¶
ParamValue returns a ReqValue from the url path
func QueryValue ¶
QueryValue returns a ReqValue from the query string
type Route ¶
type Route struct { Method string Path string Handler http.Handler Middleware []Middleware }
A Route is the tuple of (method, path, handler) that is registered with the router
func AssetsRoute ¶
func AssetsRoute(prefix string, fs http.FileSystem, mws ...Middleware) *Route
AssetsRoute returns a Route to handle static assets
type SPAConf ¶
type SPAConf struct { Root string IndexTemplate *template.Template IndexTemplateData func(*http.Request, map[string]map[string]interface{}) interface{} IndexFilter func(*http.Request) bool IndexMiddleware []Middleware Assets http.FileSystem AssetFile string AssetPrefix string AssetMiddleware []Middleware }
SPAConf is a helper for defining routes and asset handling for single page apps
type Server ¶
Server is the http server
func (*Server) AddListenAddr ¶
AddListenAddr adds a new address to listen to when the server starts
func (*Server) AddMiddleware ¶
func (s *Server) AddMiddleware(mw ...Middleware)
AddMiddleware adds global middleware to the server
func (*Server) HandleNotFound ¶
func (s *Server) HandleNotFound(h http.Handler, mw ...Middleware)
HandleNotFound registers a handler to run when a method is not found
func (*Server) Lookup ¶
Lookup finds the associated route that was registered with the provided method and path
func (*Server) NotFoundHandler ¶
NotFoundHandler returns the registered not found handler