diff options
Diffstat (limited to 'middleware/pipe.go')
-rw-r--r-- | middleware/pipe.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/middleware/pipe.go b/middleware/pipe.go new file mode 100644 index 0000000..4b5064d --- /dev/null +++ b/middleware/pipe.go @@ -0,0 +1,14 @@ +package middleware + +import "net/http" + +type Middleware func(http.Handler) http.Handler + +func Pipe(xs ...Middleware) Middleware { + return func(next http.Handler) http.Handler { + for i := len(xs) - 1; i >= 0; i-- { + next = xs[i](next) + } + return next + } +} |