-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmiddleware.go
More file actions
24 lines (19 loc) · 896 Bytes
/
middleware.go
File metadata and controls
24 lines (19 loc) · 896 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package forge
import (
"github.com/xraph/forge/internal/router"
)
// MiddlewareFunc is a convenience type for middleware functions
// that want to explicitly call the next handler.
type MiddlewareFunc = router.MiddlewareFunc
// PureMiddleware wraps HTTP handlers.
type PureMiddleware = router.PureMiddleware
// FromMiddleware converts a legacy http.Handler middleware to a ForgeMiddleware.
// This allows existing http.Handler middlewares to work with forge handlers.
func FromMiddleware(m Middleware) PureMiddleware {
return router.FromMiddleware(m)
}
// ToPureMiddleware converts a Middleware (forge middleware) to a PureMiddleware (http middleware)
// This allows forge middlewares to work with http.Handler based systems.
func ToPureMiddleware(m Middleware, container Container, errorHandler ErrorHandler) PureMiddleware {
return router.ToPureMiddleware(m, container, errorHandler)
}