mirror of
https://github.com/kataras/iris.git
synced 2026-01-10 05:25:58 +00:00
fix #1603
This commit is contained in:
@@ -132,10 +132,18 @@ func overlapRoute(r *Route, next *Route) {
|
||||
next.BuildHandlers()
|
||||
nextHandlers := next.Handlers[0:]
|
||||
|
||||
isErrorRoutes := r.StatusCode > 0 && next.StatusCode > 0
|
||||
|
||||
decisionHandler := func(ctx *context.Context) {
|
||||
ctx.Next()
|
||||
|
||||
if !defaultOverlapFilter(ctx) {
|
||||
if isErrorRoutes { // fixes issue #1602.
|
||||
// If it's an error we don't need to reset (see defaultOverlapFilter)
|
||||
// its status code(!) and its body, we just check if it was proceed or not.
|
||||
if !ctx.IsStopped() {
|
||||
return
|
||||
}
|
||||
} else if !defaultOverlapFilter(ctx) {
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -339,7 +339,7 @@ func TestUseWrapOrder(t *testing.T) {
|
||||
Iris Handler without any content written then we
|
||||
would able to change the status code later on.
|
||||
When you need to change that behavior you should
|
||||
start the handler with a [ctx.Record()](responses/recorder.md) call.
|
||||
start the handler with a ctx.Record() call.
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user