summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/labstack/echo/v4/middleware/timeout.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/labstack/echo/v4/middleware/timeout.go')
-rw-r--r--vendor/github.com/labstack/echo/v4/middleware/timeout.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/vendor/github.com/labstack/echo/v4/middleware/timeout.go b/vendor/github.com/labstack/echo/v4/middleware/timeout.go
index fb8ae421..73113654 100644
--- a/vendor/github.com/labstack/echo/v4/middleware/timeout.go
+++ b/vendor/github.com/labstack/echo/v4/middleware/timeout.go
@@ -2,9 +2,10 @@ package middleware
import (
"context"
- "github.com/labstack/echo/v4"
"net/http"
"time"
+
+ "github.com/labstack/echo/v4"
)
type (
@@ -87,6 +88,10 @@ type echoHandlerFuncWrapper struct {
}
func (t echoHandlerFuncWrapper) ServeHTTP(rw http.ResponseWriter, r *http.Request) {
+ // replace echo.Context Request with the one provided by TimeoutHandler to let later middlewares/handler on the chain
+ // handle properly it's cancellation
+ t.ctx.SetRequest(r)
+
// replace writer with TimeoutHandler custom one. This will guarantee that
// `writes by h to its ResponseWriter will return ErrHandlerTimeout.`
originalWriter := t.ctx.Response().Writer