From 79476eadfaa8ed955174151897276f55ecedf1c1 Mon Sep 17 00:00:00 2001 From: Marcin Romaszewicz Date: Tue, 3 Mar 2026 11:53:25 -0800 Subject: [PATCH] Inline strict middleware typedefs Replace type aliases to runtime/strictmiddleware/* packages with inline type definitions in all strict server templates. This removes the unnecessary runtime dependency for StrictHandlerFunc and StrictMiddlewareFunc, and updates interface{} to any in the fiber template for consistency. Closes #2270 Co-Authored-By: Claude Opus 4.6 --- .../issues/issue-1093/api/child/child.gen.go | 5 ++--- .../issue-1093/api/parent/parent.gen.go | 5 ++--- .../test/issues/issue-1182/pkg1/pkg1.gen.go | 5 ++--- .../test/issues/issue-1182/pkg2/pkg2.gen.go | 5 ++--- .../issue-1208-1209/issue-multi-json.gen.go | 5 ++--- .../test/issues/issue-1212/pkg1/pkg1.gen.go | 5 ++--- .../test/issues/issue-1212/pkg2/pkg2.gen.go | 5 ++--- .../issues/issue-1277/content-array.gen.go | 5 ++--- .../test/issues/issue-1298/issue1298.gen.go | 5 ++--- .../issue-1378/bionicle/bionicle.gen.go | 5 ++--- .../issues/issue-1378/common/common.gen.go | 6 +++--- .../issue-1378/fooservice/fooservice.gen.go | 5 ++--- .../issue-1529/strict-echo/issue1529.gen.go | 5 ++--- .../issue-1529/strict-fiber/issue1529.gen.go | 3 +-- .../issue-1529/strict-iris/issue1529.gen.go | 5 ++--- internal/test/issues/issue-1676/ping.gen.go | 5 ++--- .../test/issues/issue-1963/issue1963.gen.go | 5 ++--- .../test/issues/issue-2113/gen/api/api.gen.go | 5 ++--- .../test/issues/issue-2190/issue2190.gen.go | 6 ++---- .../gen/spec_base/issue.gen.go | 5 ++--- .../gen/spec_ext/issue.gen.go | 6 +++--- internal/test/strict-server/chi/server.gen.go | 5 ++--- .../test/strict-server/echo/server.gen.go | 5 ++--- .../test/strict-server/fiber/server.gen.go | 3 +-- internal/test/strict-server/gin/server.gen.go | 5 ++--- .../test/strict-server/gorilla/server.gen.go | 5 ++--- .../test/strict-server/iris/server.gen.go | 5 ++--- .../test/strict-server/stdhttp/server.gen.go | 5 ++--- pkg/codegen/configuration.go | 21 ------------------- pkg/codegen/templates/strict/strict-echo.tmpl | 4 ++-- .../templates/strict/strict-echo5.tmpl | 4 ++-- .../templates/strict/strict-fiber.tmpl | 3 +-- pkg/codegen/templates/strict/strict-gin.tmpl | 4 ++-- pkg/codegen/templates/strict/strict-http.tmpl | 4 ++-- pkg/codegen/templates/strict/strict-iris.tmpl | 4 ++-- 35 files changed, 67 insertions(+), 116 deletions(-) diff --git a/internal/test/issues/issue-1093/api/child/child.gen.go b/internal/test/issues/issue-1093/api/child/child.gen.go index 3716a0ba9c..d50664c315 100644 --- a/internal/test/issues/issue-1093/api/child/child.gen.go +++ b/internal/test/issues/issue-1093/api/child/child.gen.go @@ -18,7 +18,6 @@ import ( "github.com/getkin/kin-openapi/openapi3" "github.com/gin-gonic/gin" externalRef0 "github.com/oapi-codegen/oapi-codegen/v2/internal/test/issues/issue-1093/api/parent" - strictgin "github.com/oapi-codegen/runtime/strictmiddleware/gin" ) // ServerInterface represents all server handlers. @@ -108,8 +107,8 @@ type StrictServerInterface interface { GetPets(ctx context.Context, request GetPetsRequestObject) (GetPetsResponseObject, error) } -type StrictHandlerFunc = strictgin.StrictGinHandlerFunc -type StrictMiddlewareFunc = strictgin.StrictGinMiddlewareFunc +type StrictHandlerFunc func(ctx *gin.Context, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc type StrictGinServerOptions struct { // RequestErrorHandlerFunc is called when a request cannot be parsed or diff --git a/internal/test/issues/issue-1093/api/parent/parent.gen.go b/internal/test/issues/issue-1093/api/parent/parent.gen.go index 0aada7045e..6f6f7d869b 100644 --- a/internal/test/issues/issue-1093/api/parent/parent.gen.go +++ b/internal/test/issues/issue-1093/api/parent/parent.gen.go @@ -17,7 +17,6 @@ import ( "github.com/getkin/kin-openapi/openapi3" "github.com/gin-gonic/gin" - strictgin "github.com/oapi-codegen/runtime/strictmiddleware/gin" ) // Pet defines model for Pet. @@ -113,8 +112,8 @@ type StrictServerInterface interface { GetPets(ctx context.Context, request GetPetsRequestObject) (GetPetsResponseObject, error) } -type StrictHandlerFunc = strictgin.StrictGinHandlerFunc -type StrictMiddlewareFunc = strictgin.StrictGinMiddlewareFunc +type StrictHandlerFunc func(ctx *gin.Context, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc type StrictGinServerOptions struct { // RequestErrorHandlerFunc is called when a request cannot be parsed or diff --git a/internal/test/issues/issue-1182/pkg1/pkg1.gen.go b/internal/test/issues/issue-1182/pkg1/pkg1.gen.go index c5111c09d2..5baac42d25 100644 --- a/internal/test/issues/issue-1182/pkg1/pkg1.gen.go +++ b/internal/test/issues/issue-1182/pkg1/pkg1.gen.go @@ -18,7 +18,6 @@ import ( "github.com/getkin/kin-openapi/openapi3" "github.com/labstack/echo/v4" externalRef0 "github.com/oapi-codegen/oapi-codegen/v2/internal/test/issues/issue-1182/pkg2" - strictecho "github.com/oapi-codegen/runtime/strictmiddleware/echo" ) // RequestEditorFn is the function signature for the RequestEditor callback function @@ -312,8 +311,8 @@ type StrictServerInterface interface { TestGet(ctx context.Context, request TestGetRequestObject) (TestGetResponseObject, error) } -type StrictHandlerFunc = strictecho.StrictEchoHandlerFunc -type StrictMiddlewareFunc = strictecho.StrictEchoMiddlewareFunc +type StrictHandlerFunc func(ctx echo.Context, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc func NewStrictHandler(ssi StrictServerInterface, middlewares []StrictMiddlewareFunc) ServerInterface { return &strictHandler{ssi: ssi, middlewares: middlewares} diff --git a/internal/test/issues/issue-1182/pkg2/pkg2.gen.go b/internal/test/issues/issue-1182/pkg2/pkg2.gen.go index 51eece40aa..df4e45e12d 100644 --- a/internal/test/issues/issue-1182/pkg2/pkg2.gen.go +++ b/internal/test/issues/issue-1182/pkg2/pkg2.gen.go @@ -16,7 +16,6 @@ import ( "github.com/getkin/kin-openapi/openapi3" "github.com/labstack/echo/v4" - strictecho "github.com/oapi-codegen/runtime/strictmiddleware/echo" ) // RequestEditorFn is the function signature for the RequestEditor callback function @@ -181,8 +180,8 @@ type ResponseWithReferenceResponse struct { type StrictServerInterface interface { } -type StrictHandlerFunc = strictecho.StrictEchoHandlerFunc -type StrictMiddlewareFunc = strictecho.StrictEchoMiddlewareFunc +type StrictHandlerFunc func(ctx echo.Context, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc func NewStrictHandler(ssi StrictServerInterface, middlewares []StrictMiddlewareFunc) ServerInterface { return &strictHandler{ssi: ssi, middlewares: middlewares} diff --git a/internal/test/issues/issue-1208-1209/issue-multi-json.gen.go b/internal/test/issues/issue-1208-1209/issue-multi-json.gen.go index a5f1602504..72270f9356 100644 --- a/internal/test/issues/issue-1208-1209/issue-multi-json.gen.go +++ b/internal/test/issues/issue-1208-1209/issue-multi-json.gen.go @@ -18,7 +18,6 @@ import ( "github.com/getkin/kin-openapi/openapi3" "github.com/gin-gonic/gin" - strictgin "github.com/oapi-codegen/runtime/strictmiddleware/gin" ) // Bar defines model for bar. @@ -425,8 +424,8 @@ type StrictServerInterface interface { Test(ctx context.Context, request TestRequestObject) (TestResponseObject, error) } -type StrictHandlerFunc = strictgin.StrictGinHandlerFunc -type StrictMiddlewareFunc = strictgin.StrictGinMiddlewareFunc +type StrictHandlerFunc func(ctx *gin.Context, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc type StrictGinServerOptions struct { // RequestErrorHandlerFunc is called when a request cannot be parsed or diff --git a/internal/test/issues/issue-1212/pkg1/pkg1.gen.go b/internal/test/issues/issue-1212/pkg1/pkg1.gen.go index 025f02314c..2b4d87954a 100644 --- a/internal/test/issues/issue-1212/pkg1/pkg1.gen.go +++ b/internal/test/issues/issue-1212/pkg1/pkg1.gen.go @@ -20,7 +20,6 @@ import ( "github.com/getkin/kin-openapi/openapi3" "github.com/gin-gonic/gin" externalRef0 "github.com/oapi-codegen/oapi-codegen/v2/internal/test/issues/issue-1212/pkg2" - strictgin "github.com/oapi-codegen/runtime/strictmiddleware/gin" ) // RequestEditorFn is the function signature for the RequestEditor callback function @@ -325,8 +324,8 @@ type StrictServerInterface interface { Test(ctx context.Context, request TestRequestObject) (TestResponseObject, error) } -type StrictHandlerFunc = strictgin.StrictGinHandlerFunc -type StrictMiddlewareFunc = strictgin.StrictGinMiddlewareFunc +type StrictHandlerFunc func(ctx *gin.Context, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc type StrictGinServerOptions struct { // RequestErrorHandlerFunc is called when a request cannot be parsed or diff --git a/internal/test/issues/issue-1212/pkg2/pkg2.gen.go b/internal/test/issues/issue-1212/pkg2/pkg2.gen.go index d4c338cce7..1aeee27bac 100644 --- a/internal/test/issues/issue-1212/pkg2/pkg2.gen.go +++ b/internal/test/issues/issue-1212/pkg2/pkg2.gen.go @@ -17,7 +17,6 @@ import ( "github.com/getkin/kin-openapi/openapi3" "github.com/gin-gonic/gin" - strictgin "github.com/oapi-codegen/runtime/strictmiddleware/gin" ) // Bar defines model for bar. @@ -186,8 +185,8 @@ type TestMultipartResponse func(writer *multipart.Writer) error type StrictServerInterface interface { } -type StrictHandlerFunc = strictgin.StrictGinHandlerFunc -type StrictMiddlewareFunc = strictgin.StrictGinMiddlewareFunc +type StrictHandlerFunc func(ctx *gin.Context, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc type StrictGinServerOptions struct { // RequestErrorHandlerFunc is called when a request cannot be parsed or diff --git a/internal/test/issues/issue-1277/content-array.gen.go b/internal/test/issues/issue-1277/content-array.gen.go index be4983aa29..8a0c29b2e3 100644 --- a/internal/test/issues/issue-1277/content-array.gen.go +++ b/internal/test/issues/issue-1277/content-array.gen.go @@ -14,7 +14,6 @@ import ( "strings" "github.com/go-chi/chi/v5" - strictnethttp "github.com/oapi-codegen/runtime/strictmiddleware/nethttp" ) // RequestEditorFn is the function signature for the RequestEditor callback function @@ -443,8 +442,8 @@ type StrictServerInterface interface { Test(ctx context.Context, request TestRequestObject) (TestResponseObject, error) } -type StrictHandlerFunc = strictnethttp.StrictHTTPHandlerFunc -type StrictMiddlewareFunc = strictnethttp.StrictHTTPMiddlewareFunc +type StrictHandlerFunc func(ctx context.Context, w http.ResponseWriter, r *http.Request, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc type StrictHTTPServerOptions struct { RequestErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error) diff --git a/internal/test/issues/issue-1298/issue1298.gen.go b/internal/test/issues/issue-1298/issue1298.gen.go index 9d156149f6..3d79747d26 100644 --- a/internal/test/issues/issue-1298/issue1298.gen.go +++ b/internal/test/issues/issue-1298/issue1298.gen.go @@ -15,7 +15,6 @@ import ( "strings" "github.com/gin-gonic/gin" - strictgin "github.com/oapi-codegen/runtime/strictmiddleware/gin" ) // Test defines model for Test. @@ -363,8 +362,8 @@ type StrictServerInterface interface { Test(ctx context.Context, request TestRequestObject) (TestResponseObject, error) } -type StrictHandlerFunc = strictgin.StrictGinHandlerFunc -type StrictMiddlewareFunc = strictgin.StrictGinMiddlewareFunc +type StrictHandlerFunc func(ctx *gin.Context, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc type StrictGinServerOptions struct { // RequestErrorHandlerFunc is called when a request cannot be parsed or diff --git a/internal/test/issues/issue-1378/bionicle/bionicle.gen.go b/internal/test/issues/issue-1378/bionicle/bionicle.gen.go index ad3c48fb16..f708015ae6 100644 --- a/internal/test/issues/issue-1378/bionicle/bionicle.gen.go +++ b/internal/test/issues/issue-1378/bionicle/bionicle.gen.go @@ -19,7 +19,6 @@ import ( "github.com/gorilla/mux" externalRef0 "github.com/oapi-codegen/oapi-codegen/v2/internal/test/issues/issue-1378/common" "github.com/oapi-codegen/runtime" - strictnethttp "github.com/oapi-codegen/runtime/strictmiddleware/nethttp" ) // Bionicle defines model for Bionicle. @@ -235,8 +234,8 @@ type StrictServerInterface interface { GetBionicleName(ctx context.Context, request GetBionicleNameRequestObject) (GetBionicleNameResponseObject, error) } -type StrictHandlerFunc = strictnethttp.StrictHTTPHandlerFunc -type StrictMiddlewareFunc = strictnethttp.StrictHTTPMiddlewareFunc +type StrictHandlerFunc func(ctx context.Context, w http.ResponseWriter, r *http.Request, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc type StrictHTTPServerOptions struct { RequestErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error) diff --git a/internal/test/issues/issue-1378/common/common.gen.go b/internal/test/issues/issue-1378/common/common.gen.go index d1747783e0..0e725531e7 100644 --- a/internal/test/issues/issue-1378/common/common.gen.go +++ b/internal/test/issues/issue-1378/common/common.gen.go @@ -6,6 +6,7 @@ package common import ( "bytes" "compress/gzip" + "context" "encoding/base64" "fmt" "net/http" @@ -15,7 +16,6 @@ import ( "github.com/getkin/kin-openapi/openapi3" "github.com/gorilla/mux" - strictnethttp "github.com/oapi-codegen/runtime/strictmiddleware/nethttp" ) // ErrTracingIdNotSent defines model for ErrTracingIdNotSent. @@ -151,8 +151,8 @@ func HandlerWithOptions(si ServerInterface, options GorillaServerOptions) http.H type StrictServerInterface interface { } -type StrictHandlerFunc = strictnethttp.StrictHTTPHandlerFunc -type StrictMiddlewareFunc = strictnethttp.StrictHTTPMiddlewareFunc +type StrictHandlerFunc func(ctx context.Context, w http.ResponseWriter, r *http.Request, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc type StrictHTTPServerOptions struct { RequestErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error) diff --git a/internal/test/issues/issue-1378/fooservice/fooservice.gen.go b/internal/test/issues/issue-1378/fooservice/fooservice.gen.go index cf32c3e258..9c856f981b 100644 --- a/internal/test/issues/issue-1378/fooservice/fooservice.gen.go +++ b/internal/test/issues/issue-1378/fooservice/fooservice.gen.go @@ -20,7 +20,6 @@ import ( externalRef0 "github.com/oapi-codegen/oapi-codegen/v2/internal/test/issues/issue-1378/bionicle" externalRef1 "github.com/oapi-codegen/oapi-codegen/v2/internal/test/issues/issue-1378/common" "github.com/oapi-codegen/runtime" - strictnethttp "github.com/oapi-codegen/runtime/strictmiddleware/nethttp" ) // ServerInterface represents all server handlers. @@ -228,8 +227,8 @@ type StrictServerInterface interface { GetBionicleName(ctx context.Context, request GetBionicleNameRequestObject) (GetBionicleNameResponseObject, error) } -type StrictHandlerFunc = strictnethttp.StrictHTTPHandlerFunc -type StrictMiddlewareFunc = strictnethttp.StrictHTTPMiddlewareFunc +type StrictHandlerFunc func(ctx context.Context, w http.ResponseWriter, r *http.Request, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc type StrictHTTPServerOptions struct { RequestErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error) diff --git a/internal/test/issues/issue-1529/strict-echo/issue1529.gen.go b/internal/test/issues/issue-1529/strict-echo/issue1529.gen.go index 04180c2821..5356f847bb 100644 --- a/internal/test/issues/issue-1529/strict-echo/issue1529.gen.go +++ b/internal/test/issues/issue-1529/strict-echo/issue1529.gen.go @@ -18,7 +18,6 @@ import ( "github.com/getkin/kin-openapi/openapi3" "github.com/labstack/echo/v4" - strictecho "github.com/oapi-codegen/runtime/strictmiddleware/echo" ) // Test defines model for Test. @@ -377,8 +376,8 @@ type StrictServerInterface interface { Test(ctx context.Context, request TestRequestObject) (TestResponseObject, error) } -type StrictHandlerFunc = strictecho.StrictEchoHandlerFunc -type StrictMiddlewareFunc = strictecho.StrictEchoMiddlewareFunc +type StrictHandlerFunc func(ctx echo.Context, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc func NewStrictHandler(ssi StrictServerInterface, middlewares []StrictMiddlewareFunc) ServerInterface { return &strictHandler{ssi: ssi, middlewares: middlewares} diff --git a/internal/test/issues/issue-1529/strict-fiber/issue1529.gen.go b/internal/test/issues/issue-1529/strict-fiber/issue1529.gen.go index 8b1ceac003..4ead2d3d10 100644 --- a/internal/test/issues/issue-1529/strict-fiber/issue1529.gen.go +++ b/internal/test/issues/issue-1529/strict-fiber/issue1529.gen.go @@ -369,8 +369,7 @@ type StrictServerInterface interface { Test(ctx context.Context, request TestRequestObject) (TestResponseObject, error) } -type StrictHandlerFunc func(ctx *fiber.Ctx, args interface{}) (interface{}, error) - +type StrictHandlerFunc func(ctx *fiber.Ctx, args any) (any, error) type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc func NewStrictHandler(ssi StrictServerInterface, middlewares []StrictMiddlewareFunc) ServerInterface { diff --git a/internal/test/issues/issue-1529/strict-iris/issue1529.gen.go b/internal/test/issues/issue-1529/strict-iris/issue1529.gen.go index e2a01bd04a..0a990102f2 100644 --- a/internal/test/issues/issue-1529/strict-iris/issue1529.gen.go +++ b/internal/test/issues/issue-1529/strict-iris/issue1529.gen.go @@ -18,7 +18,6 @@ import ( "github.com/getkin/kin-openapi/openapi3" "github.com/kataras/iris/v12" - strictiris "github.com/oapi-codegen/runtime/strictmiddleware/iris" ) // Test defines model for Test. @@ -353,8 +352,8 @@ type StrictServerInterface interface { Test(ctx context.Context, request TestRequestObject) (TestResponseObject, error) } -type StrictHandlerFunc = strictiris.StrictIrisHandlerFunc -type StrictMiddlewareFunc = strictiris.StrictIrisMiddlewareFunc +type StrictHandlerFunc func(ctx iris.Context, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc func NewStrictHandler(ssi StrictServerInterface, middlewares []StrictMiddlewareFunc) ServerInterface { return &strictHandler{ssi: ssi, middlewares: middlewares} diff --git a/internal/test/issues/issue-1676/ping.gen.go b/internal/test/issues/issue-1676/ping.gen.go index 395033a2ba..30229f8183 100644 --- a/internal/test/issues/issue-1676/ping.gen.go +++ b/internal/test/issues/issue-1676/ping.gen.go @@ -9,7 +9,6 @@ import ( "net/http" "github.com/gorilla/mux" - strictnethttp "github.com/oapi-codegen/runtime/strictmiddleware/nethttp" ) // ServerInterface represents all server handlers. @@ -195,8 +194,8 @@ type StrictServerInterface interface { GetPing(ctx context.Context, request GetPingRequestObject) (GetPingResponseObject, error) } -type StrictHandlerFunc = strictnethttp.StrictHTTPHandlerFunc -type StrictMiddlewareFunc = strictnethttp.StrictHTTPMiddlewareFunc +type StrictHandlerFunc func(ctx context.Context, w http.ResponseWriter, r *http.Request, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc type StrictHTTPServerOptions struct { RequestErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error) diff --git a/internal/test/issues/issue-1963/issue1963.gen.go b/internal/test/issues/issue-1963/issue1963.gen.go index 15164e4b62..b2968de7b7 100644 --- a/internal/test/issues/issue-1963/issue1963.gen.go +++ b/internal/test/issues/issue-1963/issue1963.gen.go @@ -15,7 +15,6 @@ import ( "net/http" "github.com/oapi-codegen/runtime" - strictnethttp "github.com/oapi-codegen/runtime/strictmiddleware/nethttp" ) // Request defines model for Request. @@ -405,8 +404,8 @@ type StrictServerInterface interface { TextEndpoint(ctx context.Context, request TextEndpointRequestObject) (TextEndpointResponseObject, error) } -type StrictHandlerFunc = strictnethttp.StrictHTTPHandlerFunc -type StrictMiddlewareFunc = strictnethttp.StrictHTTPMiddlewareFunc +type StrictHandlerFunc func(ctx context.Context, w http.ResponseWriter, r *http.Request, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc type StrictHTTPServerOptions struct { RequestErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error) diff --git a/internal/test/issues/issue-2113/gen/api/api.gen.go b/internal/test/issues/issue-2113/gen/api/api.gen.go index 626e5ea1f6..9aa3018f10 100644 --- a/internal/test/issues/issue-2113/gen/api/api.gen.go +++ b/internal/test/issues/issue-2113/gen/api/api.gen.go @@ -12,7 +12,6 @@ import ( "github.com/go-chi/chi/v5" externalRef0 "github.com/oapi-codegen/oapi-codegen/v2/internal/test/issues/issue-2113/gen/common" - strictnethttp "github.com/oapi-codegen/runtime/strictmiddleware/nethttp" ) // ServerInterface represents all server handlers. @@ -233,8 +232,8 @@ type StrictServerInterface interface { ListThings(ctx context.Context, request ListThingsRequestObject) (ListThingsResponseObject, error) } -type StrictHandlerFunc = strictnethttp.StrictHTTPHandlerFunc -type StrictMiddlewareFunc = strictnethttp.StrictHTTPMiddlewareFunc +type StrictHandlerFunc func(ctx context.Context, w http.ResponseWriter, r *http.Request, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc type StrictHTTPServerOptions struct { RequestErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error) diff --git a/internal/test/issues/issue-2190/issue2190.gen.go b/internal/test/issues/issue-2190/issue2190.gen.go index 0904608db2..db31e6c1c3 100644 --- a/internal/test/issues/issue-2190/issue2190.gen.go +++ b/internal/test/issues/issue-2190/issue2190.gen.go @@ -14,8 +14,6 @@ import ( "net/http" "net/url" "strings" - - strictnethttp "github.com/oapi-codegen/runtime/strictmiddleware/nethttp" ) // Success defines model for Success. @@ -447,8 +445,8 @@ type StrictServerInterface interface { GetTest(ctx context.Context, request GetTestRequestObject) (GetTestResponseObject, error) } -type StrictHandlerFunc = strictnethttp.StrictHTTPHandlerFunc -type StrictMiddlewareFunc = strictnethttp.StrictHTTPMiddlewareFunc +type StrictHandlerFunc func(ctx context.Context, w http.ResponseWriter, r *http.Request, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc type StrictHTTPServerOptions struct { RequestErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error) diff --git a/internal/test/issues/issue-removed-external-ref/gen/spec_base/issue.gen.go b/internal/test/issues/issue-removed-external-ref/gen/spec_base/issue.gen.go index f96b78c9b2..57ad01efb4 100644 --- a/internal/test/issues/issue-removed-external-ref/gen/spec_base/issue.gen.go +++ b/internal/test/issues/issue-removed-external-ref/gen/spec_base/issue.gen.go @@ -12,7 +12,6 @@ import ( "github.com/go-chi/chi/v5" externalRef0 "github.com/oapi-codegen/oapi-codegen/v2/internal/test/issues/issue-removed-external-ref/gen/spec_ext" - strictnethttp "github.com/oapi-codegen/runtime/strictmiddleware/nethttp" ) // DirectBar defines model for DirectBar. @@ -266,8 +265,8 @@ type StrictServerInterface interface { PostNoTrouble(ctx context.Context, request PostNoTroubleRequestObject) (PostNoTroubleResponseObject, error) } -type StrictHandlerFunc = strictnethttp.StrictHTTPHandlerFunc -type StrictMiddlewareFunc = strictnethttp.StrictHTTPMiddlewareFunc +type StrictHandlerFunc func(ctx context.Context, w http.ResponseWriter, r *http.Request, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc type StrictHTTPServerOptions struct { RequestErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error) diff --git a/internal/test/issues/issue-removed-external-ref/gen/spec_ext/issue.gen.go b/internal/test/issues/issue-removed-external-ref/gen/spec_ext/issue.gen.go index 881f8be12b..b7809cd969 100644 --- a/internal/test/issues/issue-removed-external-ref/gen/spec_ext/issue.gen.go +++ b/internal/test/issues/issue-removed-external-ref/gen/spec_ext/issue.gen.go @@ -4,11 +4,11 @@ package spec_ext import ( + "context" "fmt" "net/http" "github.com/go-chi/chi/v5" - strictnethttp "github.com/oapi-codegen/runtime/strictmiddleware/nethttp" ) // CamelSchema defines model for CamelSchema. @@ -165,8 +165,8 @@ type PascalJSONResponse PascalSchema type StrictServerInterface interface { } -type StrictHandlerFunc = strictnethttp.StrictHTTPHandlerFunc -type StrictMiddlewareFunc = strictnethttp.StrictHTTPMiddlewareFunc +type StrictHandlerFunc func(ctx context.Context, w http.ResponseWriter, r *http.Request, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc type StrictHTTPServerOptions struct { RequestErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error) diff --git a/internal/test/strict-server/chi/server.gen.go b/internal/test/strict-server/chi/server.gen.go index a86b27c501..e5a9ebb9d0 100644 --- a/internal/test/strict-server/chi/server.gen.go +++ b/internal/test/strict-server/chi/server.gen.go @@ -22,7 +22,6 @@ import ( "github.com/getkin/kin-openapi/openapi3" "github.com/go-chi/chi/v5" "github.com/oapi-codegen/runtime" - strictnethttp "github.com/oapi-codegen/runtime/strictmiddleware/nethttp" ) // ServerInterface represents all server handlers. @@ -1269,8 +1268,8 @@ type StrictServerInterface interface { UnionExample(ctx context.Context, request UnionExampleRequestObject) (UnionExampleResponseObject, error) } -type StrictHandlerFunc = strictnethttp.StrictHTTPHandlerFunc -type StrictMiddlewareFunc = strictnethttp.StrictHTTPMiddlewareFunc +type StrictHandlerFunc func(ctx context.Context, w http.ResponseWriter, r *http.Request, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc type StrictHTTPServerOptions struct { RequestErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error) diff --git a/internal/test/strict-server/echo/server.gen.go b/internal/test/strict-server/echo/server.gen.go index 88036c38f4..414667b5b5 100644 --- a/internal/test/strict-server/echo/server.gen.go +++ b/internal/test/strict-server/echo/server.gen.go @@ -22,7 +22,6 @@ import ( "github.com/getkin/kin-openapi/openapi3" "github.com/labstack/echo/v4" "github.com/oapi-codegen/runtime" - strictecho "github.com/oapi-codegen/runtime/strictmiddleware/echo" ) // ServerInterface represents all server handlers. @@ -989,8 +988,8 @@ type StrictServerInterface interface { UnionExample(ctx context.Context, request UnionExampleRequestObject) (UnionExampleResponseObject, error) } -type StrictHandlerFunc = strictecho.StrictEchoHandlerFunc -type StrictMiddlewareFunc = strictecho.StrictEchoMiddlewareFunc +type StrictHandlerFunc func(ctx echo.Context, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc func NewStrictHandler(ssi StrictServerInterface, middlewares []StrictMiddlewareFunc) ServerInterface { return &strictHandler{ssi: ssi, middlewares: middlewares} diff --git a/internal/test/strict-server/fiber/server.gen.go b/internal/test/strict-server/fiber/server.gen.go index 37615230b7..bdb00bfcdb 100644 --- a/internal/test/strict-server/fiber/server.gen.go +++ b/internal/test/strict-server/fiber/server.gen.go @@ -1087,8 +1087,7 @@ type StrictServerInterface interface { UnionExample(ctx context.Context, request UnionExampleRequestObject) (UnionExampleResponseObject, error) } -type StrictHandlerFunc func(ctx *fiber.Ctx, args interface{}) (interface{}, error) - +type StrictHandlerFunc func(ctx *fiber.Ctx, args any) (any, error) type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc func NewStrictHandler(ssi StrictServerInterface, middlewares []StrictMiddlewareFunc) ServerInterface { diff --git a/internal/test/strict-server/gin/server.gen.go b/internal/test/strict-server/gin/server.gen.go index 44d017dbd8..0e5e4bd7f1 100644 --- a/internal/test/strict-server/gin/server.gen.go +++ b/internal/test/strict-server/gin/server.gen.go @@ -22,7 +22,6 @@ import ( "github.com/getkin/kin-openapi/openapi3" "github.com/gin-gonic/gin" "github.com/oapi-codegen/runtime" - strictgin "github.com/oapi-codegen/runtime/strictmiddleware/gin" ) // ServerInterface represents all server handlers. @@ -1064,8 +1063,8 @@ type StrictServerInterface interface { UnionExample(ctx context.Context, request UnionExampleRequestObject) (UnionExampleResponseObject, error) } -type StrictHandlerFunc = strictgin.StrictGinHandlerFunc -type StrictMiddlewareFunc = strictgin.StrictGinMiddlewareFunc +type StrictHandlerFunc func(ctx *gin.Context, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc type StrictGinServerOptions struct { // RequestErrorHandlerFunc is called when a request cannot be parsed or diff --git a/internal/test/strict-server/gorilla/server.gen.go b/internal/test/strict-server/gorilla/server.gen.go index 13c5969597..9b3f8315ea 100644 --- a/internal/test/strict-server/gorilla/server.gen.go +++ b/internal/test/strict-server/gorilla/server.gen.go @@ -22,7 +22,6 @@ import ( "github.com/getkin/kin-openapi/openapi3" "github.com/gorilla/mux" "github.com/oapi-codegen/runtime" - strictnethttp "github.com/oapi-codegen/runtime/strictmiddleware/nethttp" ) // ServerInterface represents all server handlers. @@ -1180,8 +1179,8 @@ type StrictServerInterface interface { UnionExample(ctx context.Context, request UnionExampleRequestObject) (UnionExampleResponseObject, error) } -type StrictHandlerFunc = strictnethttp.StrictHTTPHandlerFunc -type StrictMiddlewareFunc = strictnethttp.StrictHTTPMiddlewareFunc +type StrictHandlerFunc func(ctx context.Context, w http.ResponseWriter, r *http.Request, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc type StrictHTTPServerOptions struct { RequestErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error) diff --git a/internal/test/strict-server/iris/server.gen.go b/internal/test/strict-server/iris/server.gen.go index 7ae7eb409b..66d0dce0bb 100644 --- a/internal/test/strict-server/iris/server.gen.go +++ b/internal/test/strict-server/iris/server.gen.go @@ -22,7 +22,6 @@ import ( "github.com/getkin/kin-openapi/openapi3" "github.com/kataras/iris/v12" "github.com/oapi-codegen/runtime" - strictiris "github.com/oapi-codegen/runtime/strictmiddleware/iris" ) // ServerInterface represents all server handlers. @@ -922,8 +921,8 @@ type StrictServerInterface interface { UnionExample(ctx context.Context, request UnionExampleRequestObject) (UnionExampleResponseObject, error) } -type StrictHandlerFunc = strictiris.StrictIrisHandlerFunc -type StrictMiddlewareFunc = strictiris.StrictIrisMiddlewareFunc +type StrictHandlerFunc func(ctx iris.Context, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc func NewStrictHandler(ssi StrictServerInterface, middlewares []StrictMiddlewareFunc) ServerInterface { return &strictHandler{ssi: ssi, middlewares: middlewares} diff --git a/internal/test/strict-server/stdhttp/server.gen.go b/internal/test/strict-server/stdhttp/server.gen.go index 2034ce7be7..74e78af517 100644 --- a/internal/test/strict-server/stdhttp/server.gen.go +++ b/internal/test/strict-server/stdhttp/server.gen.go @@ -23,7 +23,6 @@ import ( "github.com/getkin/kin-openapi/openapi3" "github.com/oapi-codegen/runtime" - strictnethttp "github.com/oapi-codegen/runtime/strictmiddleware/nethttp" ) // ServerInterface represents all server handlers. @@ -1175,8 +1174,8 @@ type StrictServerInterface interface { UnionExample(ctx context.Context, request UnionExampleRequestObject) (UnionExampleResponseObject, error) } -type StrictHandlerFunc = strictnethttp.StrictHTTPHandlerFunc -type StrictMiddlewareFunc = strictnethttp.StrictHTTPMiddlewareFunc +type StrictHandlerFunc func(ctx context.Context, w http.ResponseWriter, r *http.Request, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc type StrictHTTPServerOptions struct { RequestErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error) diff --git a/pkg/codegen/configuration.go b/pkg/codegen/configuration.go index 7938aa9fdb..f0a549a897 100644 --- a/pkg/codegen/configuration.go +++ b/pkg/codegen/configuration.go @@ -153,41 +153,20 @@ func (g GenerateOptions) RouterImports() []AdditionalImport { switch { case g.EchoServer: imports = append(imports, AdditionalImport{Package: "github.com/labstack/echo/v4"}) - if g.Strict { - imports = append(imports, AdditionalImport{Alias: "strictecho", Package: "github.com/oapi-codegen/runtime/strictmiddleware/echo"}) - } case g.Echo5Server: imports = append(imports, AdditionalImport{Package: "github.com/labstack/echo/v5"}) - if g.Strict { - imports = append(imports, AdditionalImport{Alias: "strictecho5", Package: "github.com/oapi-codegen/runtime/strictmiddleware/echo-v5"}) - } case g.ChiServer: imports = append(imports, AdditionalImport{Package: "github.com/go-chi/chi/v5"}) - if g.Strict { - imports = append(imports, AdditionalImport{Alias: "strictnethttp", Package: "github.com/oapi-codegen/runtime/strictmiddleware/nethttp"}) - } case g.GinServer: imports = append(imports, AdditionalImport{Package: "github.com/gin-gonic/gin"}) - if g.Strict { - imports = append(imports, AdditionalImport{Alias: "strictgin", Package: "github.com/oapi-codegen/runtime/strictmiddleware/gin"}) - } case g.GorillaServer: imports = append(imports, AdditionalImport{Package: "github.com/gorilla/mux"}) - if g.Strict { - imports = append(imports, AdditionalImport{Alias: "strictnethttp", Package: "github.com/oapi-codegen/runtime/strictmiddleware/nethttp"}) - } case g.FiberServer: imports = append(imports, AdditionalImport{Package: "github.com/gofiber/fiber/v2"}) case g.IrisServer: imports = append(imports, AdditionalImport{Package: "github.com/kataras/iris/v12"}) imports = append(imports, AdditionalImport{Package: "github.com/kataras/iris/v12/core/router"}) - if g.Strict { - imports = append(imports, AdditionalImport{Alias: "strictiris", Package: "github.com/oapi-codegen/runtime/strictmiddleware/iris"}) - } case g.StdHTTPServer: - if g.Strict { - imports = append(imports, AdditionalImport{Alias: "strictnethttp", Package: "github.com/oapi-codegen/runtime/strictmiddleware/nethttp"}) - } } return imports diff --git a/pkg/codegen/templates/strict/strict-echo.tmpl b/pkg/codegen/templates/strict/strict-echo.tmpl index f8b523fa91..7981c76b9e 100644 --- a/pkg/codegen/templates/strict/strict-echo.tmpl +++ b/pkg/codegen/templates/strict/strict-echo.tmpl @@ -1,5 +1,5 @@ -type StrictHandlerFunc = strictecho.StrictEchoHandlerFunc -type StrictMiddlewareFunc = strictecho.StrictEchoMiddlewareFunc +type StrictHandlerFunc func(ctx echo.Context, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc func NewStrictHandler(ssi StrictServerInterface, middlewares []StrictMiddlewareFunc) ServerInterface { return &strictHandler{ssi: ssi, middlewares: middlewares} diff --git a/pkg/codegen/templates/strict/strict-echo5.tmpl b/pkg/codegen/templates/strict/strict-echo5.tmpl index 1073714599..a7e617c1ae 100644 --- a/pkg/codegen/templates/strict/strict-echo5.tmpl +++ b/pkg/codegen/templates/strict/strict-echo5.tmpl @@ -1,5 +1,5 @@ -type StrictHandlerFunc = strictecho5.StrictEchoHandlerFunc -type StrictMiddlewareFunc = strictecho5.StrictEchoMiddlewareFunc +type StrictHandlerFunc func(ctx *echo.Context, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc func NewStrictHandler(ssi StrictServerInterface, middlewares []StrictMiddlewareFunc) ServerInterface { return &strictHandler{ssi: ssi, middlewares: middlewares} diff --git a/pkg/codegen/templates/strict/strict-fiber.tmpl b/pkg/codegen/templates/strict/strict-fiber.tmpl index 106f33a766..786a11aef8 100644 --- a/pkg/codegen/templates/strict/strict-fiber.tmpl +++ b/pkg/codegen/templates/strict/strict-fiber.tmpl @@ -1,5 +1,4 @@ -type StrictHandlerFunc func(ctx *fiber.Ctx, args interface{}) (interface{}, error) - +type StrictHandlerFunc func(ctx *fiber.Ctx, args any) (any, error) type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc func NewStrictHandler(ssi StrictServerInterface, middlewares []StrictMiddlewareFunc) ServerInterface { diff --git a/pkg/codegen/templates/strict/strict-gin.tmpl b/pkg/codegen/templates/strict/strict-gin.tmpl index 893e4b4046..167bff762e 100644 --- a/pkg/codegen/templates/strict/strict-gin.tmpl +++ b/pkg/codegen/templates/strict/strict-gin.tmpl @@ -1,5 +1,5 @@ -type StrictHandlerFunc = strictgin.StrictGinHandlerFunc -type StrictMiddlewareFunc = strictgin.StrictGinMiddlewareFunc +type StrictHandlerFunc func(ctx *gin.Context, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc type StrictGinServerOptions struct { // RequestErrorHandlerFunc is called when a request cannot be parsed or diff --git a/pkg/codegen/templates/strict/strict-http.tmpl b/pkg/codegen/templates/strict/strict-http.tmpl index d55341ca0b..16a902456c 100644 --- a/pkg/codegen/templates/strict/strict-http.tmpl +++ b/pkg/codegen/templates/strict/strict-http.tmpl @@ -1,5 +1,5 @@ -type StrictHandlerFunc = strictnethttp.StrictHTTPHandlerFunc -type StrictMiddlewareFunc = strictnethttp.StrictHTTPMiddlewareFunc +type StrictHandlerFunc func(ctx context.Context, w http.ResponseWriter, r *http.Request, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc type StrictHTTPServerOptions struct { RequestErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error) diff --git a/pkg/codegen/templates/strict/strict-iris.tmpl b/pkg/codegen/templates/strict/strict-iris.tmpl index 804efb0cf3..f6342ee37a 100644 --- a/pkg/codegen/templates/strict/strict-iris.tmpl +++ b/pkg/codegen/templates/strict/strict-iris.tmpl @@ -1,5 +1,5 @@ -type StrictHandlerFunc = strictiris.StrictIrisHandlerFunc -type StrictMiddlewareFunc = strictiris.StrictIrisMiddlewareFunc +type StrictHandlerFunc func(ctx iris.Context, request any) (any, error) +type StrictMiddlewareFunc func(f StrictHandlerFunc, operationID string) StrictHandlerFunc func NewStrictHandler(ssi StrictServerInterface, middlewares []StrictMiddlewareFunc) ServerInterface { return &strictHandler{ssi: ssi, middlewares: middlewares}