Releases: urfave/negroni
Releases · urfave/negroni
v3.1.1
v3.1.0
v3.0.0
Fixed
- Replace multiple slashes at the beginning of a path with a single one to avoid
open redirects - Avoid updating
ResponseWriter.Status()
if the status has already been
written whenResponseWriter.WriteHeader()
is called twice
Changed
ResponseWriter
now only implementshttp
interfaces (Flusher
,Hijacker
,
CloseNotifier
) if the wrappedhttp.ResponseWriter
does. This is a breaking
change to makeResponseWriter
's interface support more accurate
Added
ResponseWriter
now implementsio.ReaderFrom
to more efficiently send
responses viaio.Copy
v2.0.2
v2.0.1
v2.0.0
Changed
Recovery.PrintStack
, when false, now also supresses the panic message in
addition to supressing the stack trace
Fixed
Negroni.With()
now copies handlers to avoid mutating the originalNegroni
instance ifUse
is called on the newNegroni
instance
Added
Recovery.LogStack
was added to control whether the stacktrace is logged for
panics
v1.0.0
v0.3.0
Added
With()
helper for building a newNegroni
struct chaining handlers from
existingNegroni
structs- Format log output in
Logger
middleware via a configurabletext/template
string injectable via.SetFormat
. AddedLoggerDefaultFormat
and
LoggerDefaultDateFormat
to configure the default template and date format
used by theLogger
middleware. - Support for HTTP/2 pusher support via
http.Pusher
interface for Go 1.8+. WrapFunc
to converthttp.HandlerFunc
into anegroni.Handler
Formatter
field added toRecovery
middleware to allow configuring how
panic
s are output. Default ofTextFormatter
(how it was output in
0.2.0
) used.HTMLPanicFormatter
also added to allow easy outputing of
panic
s as HTML.
Fixed
Written()
correct returnsfalse
if no response header has been written- Only implement
http.CloseNotifier
with thenegroni.ResponseWriter
if the
underlyinghttp.ResponseWriter
implements it (previously would always
implement it and panic if the underlyinghttp.ResponseWriter
did not.
Changed
- Set default status to
0
in the case that no handler writes status -- was
previously200
(in 0.2.0, before that it was0
so this reestablishes that
behavior) - Catch
panic
s thrown by callbacks provided to theRecovery
handler - Recovery middleware will set
text/plain
content-type if none is set ALogger
interface to allow custom logger outputs to be used with the
Logger
middleware. Changes embeded field innegroni.Logger
fromLogger
toALogger
.- Default
Logger
middleware output changed to be more structure and verbose
(also now configurable, seeAdded
) - Automatically bind to port specified in
$PORT
in.Run()
if an address is
not passed in. Fall back to binding to:8080
if no address specified
(configuable viaDefaultAddress
). PanicHandlerFunc
added toRecovery
middleware to enhance custom handling
ofpanic
s by providing additional information to the handler including the
stack and thehttp.Request
.Recovery.ErrorHandlerFunc
was also added, but
deprecated in favor of the newPanicHandlerFunc
.
v0.2.0
Added
- Support for variadic handlers in
New()
- Added
Negroni.Handlers()
to fetch all of the handlers for a given chain - Allowed size in
Recovery
handler was bumped to 8k Negroni.UseFunc
to push another handler onto the chain
Changed
- Set the status before calling
beforeFuncs
so the information is available to them - Set default status to
200
in the case that no handler writes status -- was previously0
- Panic if
nil
handler is given tonegroni.Use
v0.1.0
Merge pull request #16 from unrolled/master Secure package was renamed.