Back to

Package middleware

Latest Go to latest

The latest major version is .

Published: Aug 13, 2020 | License: Apache-2.0 | Module:


Package middleware defines base type for context-aware HTTP request handler. See appengine/middleware for examples of how to use it in GAE environment.


func WithContextTimeout

func WithContextTimeout(timeout time.Duration) router.Middleware

WithContextTimeout returns a middleware that adds a timeout to the context.

func WithPanicCatcher

func WithPanicCatcher(c *router.Context, next router.Handler)

WithPanicCatcher is a middleware that catches panics, dumps stack trace to logging and returns HTTP 500.

type Base

type Base func(Handler) httprouter.Handle

Base is a start of the middlware chain. It sets up initial context with all base services and passes it to the given handler. Return value of Base can be plugged in into httprouter directly.

func TestingBase

func TestingBase(c context.Context) Base

TestingBase is Base that passes given context to the handler. Useful in tests.

type Handler

type Handler func(context.Context, http.ResponseWriter, *http.Request, httprouter.Params)

Handler is the type for all request handlers. Of particular note, it's the same as httprouter.Handle, except that it also has a context parameter.

type Middleware

type Middleware func(Handler) Handler

Middleware takes a handler, wraps it with some additional logic, and returns resulting handler.

Package Files

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier