middleware

package
v0.0.0-...-74e5c94 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2014 License: MIT Imports: 15 Imported by: 0

Documentation

Overview

Package middleware provides several standard middleware implementations.

Index

Constants

View Source
const RequestIDKey = "reqID"

Key to use when setting the request ID.

Variables

This section is empty.

Functions

func AutomaticOptions

func AutomaticOptions(c *web.C, h http.Handler) http.Handler

AutomaticOptions automatically return an appropriate "Allow" header when the request method is OPTIONS and the request would have otherwise been 404'd.

func GetReqID

func GetReqID(c web.C) string

GetReqID returns a request ID from the given context if one is present. Returns the empty string if a request ID cannot be found.

func Logger

func Logger(c *web.C, h http.Handler) http.Handler

Logger is a middleware that logs the start and end of each request, along with some useful data about what was requested, what the response status was, and how long it took to return. When standard output is a TTY, Logger will print in color, otherwise it will print in black and white.

Logger prints a request ID if one is provided.

func Recoverer

func Recoverer(c *web.C, h http.Handler) http.Handler

Recoverer is a middleware that recovers from panics, logs the panic (and a backtrace), and returns a HTTP 500 (Internal Server Error) status if possible.

Recoverer prints a request ID if one is provided.

func RequestID

func RequestID(c *web.C, h http.Handler) http.Handler

RequestID is a middleware that injects a request ID into the context of each request. A request ID is a string of the form "host.example.com/random-0001", where "random" is a base62 random string that uniquely identifies this go process, and where the last number is an atomically incremented request counter.

Types

This section is empty.

Jump to

Keyboard shortcuts

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