diff options
Diffstat (limited to 'http/middleware/middleware.go')
-rw-r--r-- | http/middleware/middleware.go | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/http/middleware/middleware.go b/http/middleware/middleware.go deleted file mode 100644 index 9853bc3..0000000 --- a/http/middleware/middleware.go +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2017 Frédéric Guillot. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -package middleware - -import ( - "net/http" -) - -// Middleware represents a HTTP middleware. -type Middleware func(http.Handler) http.Handler - -// Chain handles a list of middlewares. -type Chain struct { - middlewares []Middleware -} - -// Wrap adds a HTTP handler into the chain. -func (m *Chain) Wrap(h http.Handler) http.Handler { - for i := range m.middlewares { - h = m.middlewares[len(m.middlewares)-1-i](h) - } - - return h -} - -// WrapFunc adds a HTTP handler function into the chain. -func (m *Chain) WrapFunc(fn http.HandlerFunc) http.Handler { - return m.Wrap(fn) -} - -// NewChain returns a new Chain. -func NewChain(middlewares ...Middleware) *Chain { - return &Chain{append(([]Middleware)(nil), middlewares...)} -} |