| package middleware | |
| import ( | |
| "context" | |
| "time" | |
| "github.com/gin-gonic/gin" | |
| ) | |
| func WithTimeout(ts time.Duration) gin.HandlerFunc { | |
| return func(c *gin.Context) { | |
| ctx, cancel := context.WithTimeout(c.Request.Context(), ts) | |
| defer cancel() | |
| c.Request = c.Request.WithContext(ctx) | |
| c.Next() | |
| } | |
| } | |