feat: add project-owned error catalogs and HTTP 200 failure contracts
This commit is contained in:
@@ -45,9 +45,17 @@ func WrapMiddleware(middleware func(http.Handler) http.Handler) Middleware {
|
||||
child.writer.(interface{ inheritCommit(int) }).inheritCommit(c.Status())
|
||||
}
|
||||
defer CleanupMultipart(r)
|
||||
defer func() { c.values = child.values; c.encoder = child.encoder }()
|
||||
if err := next(child); err != nil && !c.Responded() {
|
||||
child.WriteError(err)
|
||||
defer func() {
|
||||
c.values = child.values
|
||||
c.encoder = child.encoder
|
||||
c.errorRegistry = child.errorRegistry
|
||||
c.failure = child.failure
|
||||
}()
|
||||
if err := next(child); err != nil {
|
||||
child.RecordError(err)
|
||||
if !c.Responded() {
|
||||
child.WriteError(err)
|
||||
}
|
||||
}
|
||||
}))
|
||||
if wrapped == nil {
|
||||
|
||||
Reference in New Issue
Block a user