Initial
This commit is contained in:
commit
97dc0a3570
78 files changed
+7054
No files matched your search
@@ -0,0 +1,25 @@
|
||||
package middleware
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
)
|
||||
|
||||
type Middleware func(http.Handler) http.Handler
|
||||
|
||||
type MiddlewareChain []Middleware
|
||||
|
||||
func (c MiddlewareChain) Then(finalHandler http.Handler) http.Handler {
|
||||
for i := len(c) - 1; i >= 0; i-- {
|
||||
finalHandler = c[i](finalHandler)
|
||||
}
|
||||
return finalHandler
|
||||
}
|
||||
|
||||
func (c MiddlewareChain) ThenFunc(finalHandler http.HandlerFunc) http.Handler {
|
||||
result := http.Handler(finalHandler)
|
||||
|
||||
for i := len(c) - 1; i >= 0; i-- {
|
||||
result = c[i](result)
|
||||
}
|
||||
return result
|
||||
}
|
||||
Reference in new issue
Block a user