19 lines
524 B
Go
19 lines
524 B
Go
// SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package middleware
|
|
|
|
import "net/http"
|
|
|
|
// NewOperationExecutor creates a context aware middleware that handles the operations after routing
|
|
func NewOperationExecutor(ctx *Context) http.Handler {
|
|
return http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) {
|
|
// use context to lookup routes
|
|
route, rCtx, _ := ctx.RouteInfo(r)
|
|
if rCtx != nil {
|
|
r = rCtx
|
|
}
|
|
|
|
route.Handler.ServeHTTP(rw, r)
|
|
})
|
|
}
|