Documentation

Overview

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

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    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.

        Types

        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

              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.