mirror of
https://github.com/moby/moby.git
synced 2025-07-29 07:21:35 +03:00
Move middleware to interfaces.
This makes separating middlewares from the core api easier. As an example, the authorization middleware is moved to it's own package. Initialize all static middlewares when the server is created, reducing allocations every time a route is wrapper with the middlewares. Signed-off-by: David Calavera <david.calavera@gmail.com>
This commit is contained in:
@ -1,7 +1,13 @@
|
||||
package middleware
|
||||
|
||||
import "github.com/docker/docker/api/server/httputils"
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
// Middleware is an adapter to allow the use of ordinary functions as Docker API filters.
|
||||
// Any function that has the appropriate signature can be registered as a middleware.
|
||||
type Middleware func(handler httputils.APIFunc) httputils.APIFunc
|
||||
"golang.org/x/net/context"
|
||||
)
|
||||
|
||||
// Middleware is an interface to allow the use of ordinary functions as Docker API filters.
|
||||
// Any struct that has the appropriate signature can be registered as a middleware.
|
||||
type Middleware interface {
|
||||
WrapHandler(func(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error) func(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error
|
||||
}
|
||||
|
Reference in New Issue
Block a user