# Functions
AddRequestTime is a web context that adds the current time to the request's context.
AddTime will add now to the context's time.
FromHTTP creates a ContextHandler from a http.Handler by throwing away the context.
InvalidContentType is a HTTP handler helper to signal that the content type header is wrong.
NewHandler creates a new handler with no middleware layers.
NewReqLatencyCounter creates a new ReqLatencyCounter.
RequestTime looks at the context to return the time added with AddTime.
ToHTTP converts a ContextHandler into a http.Handler by calling c() with the added ctx.
# Structs
BucketRequestCounter is a negroni handler that tracks connection stats including p99/etc.
CloseHeader is used to control when connections should signal they should be closed.
CtxWithFlag adds useful request parameters to the logging context, as well as a random request_id to the request.
Handler turns a stack of HTTP handlers into a single handler that threads a context between each.
HeaderCtxFlag sets a debug value in the context if HeaderName is not empty, a flag string has been set to non empty, and the header HeaderName or query string HeaderName is equal to the set flag string.
HeadersInRequest adds headers to any context with a flag set.
Recorder stores into Queue each request that comes across the recorder.
ReqLatencyCounter hold static data for the request latency tracking.
Request is a request put on the TestHandler queue that records eacn request sent through.
RequestCounter is a negroni handler that tracks connection stats.
VarAdder is a middleware layer that adds to the context Key/Value.
# Interfaces
Constructor defines how we creates context handling middleware.
ContextHandler is just like http.Handler but also takes a context.
FastRequestLimitDuration is the interface for getting the cutoff time for bad requests.
# Type aliases
ConstructorFunc allows a func to become a Constructor.
HandlerFunc can turn a func() into a ContextHandler.
HTTPConstructor is generally discouraged but allows us to turn a normal http.Handler constructor into a context constructor.
NextConstructor creates a Constructor that calls the given function to forward requests.
NextHTTP is like NextConstructor but when the next praameter is a http.Handler.