ATTN: This project uses semantic versioning.
Logger middleware now correctly handles paths containing a % instead of trying to treat it as a format specifierWith() helper for building a new Negroni struct chaining handlers fromNegroni structsLogger middleware via a configurable text/template.SetFormat. Added LoggerDefaultFormat andLoggerDefaultDateFormat to configure the default template and date formatLogger middleware.http.Pusher interface for Go 1.8+.WrapFunc to convert http.HandlerFunc into a negroni.HandlerFormatter field added to Recovery middleware to allow configuring howpanics are output. Default of TextFormatter (how it was output in0.2.0) used. HTMLPanicFormatter also added to allow easy outputing ofpanics as HTML.Written() correct returns false if no response header has been writtenhttp.CloseNotifier with the negroni.ResponseWriter if thehttp.ResponseWriter implements it (previously would alwayshttp.ResponseWriter did not.0 in the case that no handler writes status -- was200 (in 0.2.0, before that it was 0 so this reestablishes thatpanics thrown by callbacks provided to the Recovery handlertext/plain content-type if none is setALogger interface to allow custom logger outputs to be used with theLogger middleware. Changes embeded field in negroni.Logger from LoggerALogger.Logger middleware output changed to be more structure and verboseAdded)$PORT in .Run() if an address is:8080 if no address specifiedDefaultAddress).PanicHandlerFunc added to Recovery middleware to enhance custom handlingpanics by providing additional information to the handler including thehttp.Request. Recovery.ErrorHandlerFunc was also added, butPanicHandlerFunc.New()Negroni.Handlers() to fetch all of the handlers for a given chainRecovery handler was bumped to 8kNegroni.UseFunc to push another handler onto the chainbeforeFuncs so the information is available to them200 in the case that no handler writes status -- was previously 0nil handler is given to negroni.Use