diff --git a/internal/test/issues/issue-head-digit-of-httpheader/config.yaml b/internal/test/issues/issue-head-digit-of-httpheader/config.yaml new file mode 100644 index 0000000000..f3709acd71 --- /dev/null +++ b/internal/test/issues/issue-head-digit-of-httpheader/config.yaml @@ -0,0 +1,7 @@ +--- +package: head_digit_of_httpheader +generate: + strict-server: true +output: issue.gen.go +output-options: + skip-prune: true diff --git a/internal/test/issues/issue-head-digit-of-httpheader/doc.go b/internal/test/issues/issue-head-digit-of-httpheader/doc.go new file mode 100644 index 0000000000..4a2cdf80d6 --- /dev/null +++ b/internal/test/issues/issue-head-digit-of-httpheader/doc.go @@ -0,0 +1,3 @@ +package head_digit_of_httpheader + +//go:generate go run github.com/deepmap/oapi-codegen/cmd/oapi-codegen --config=config.yaml spec.yaml diff --git a/internal/test/issues/issue-head-digit-of-httpheader/issue.gen.go b/internal/test/issues/issue-head-digit-of-httpheader/issue.gen.go new file mode 100644 index 0000000000..0ac470b431 --- /dev/null +++ b/internal/test/issues/issue-head-digit-of-httpheader/issue.gen.go @@ -0,0 +1,27 @@ +// Package head_digit_of_httpheader provides primitives to interact with the openapi HTTP API. +// +// Code generated by github.com/deepmap/oapi-codegen version (devel) DO NOT EDIT. +package head_digit_of_httpheader + +import ( + "context" +) + +type N200ResponseHeaders struct { + N000Foo string +} +type N200Response struct { + Headers N200ResponseHeaders +} + +type GetFooRequestObject struct { +} + +type GetFoo200Response = N200Response + +// StrictServerInterface represents all server handlers. +type StrictServerInterface interface { + + // (GET /foo) + GetFoo(ctx context.Context, request GetFooRequestObject) interface{} +} diff --git a/internal/test/issues/issue-head-digit-of-httpheader/spec.yaml b/internal/test/issues/issue-head-digit-of-httpheader/spec.yaml new file mode 100644 index 0000000000..b6a960ac0c --- /dev/null +++ b/internal/test/issues/issue-head-digit-of-httpheader/spec.yaml @@ -0,0 +1,16 @@ +openapi: 3.0.2 +info: + version: "0.0.1" +paths: + /foo: + get: + responses: + 200: + $ref: "#/components/responses/200" +components: + responses: + "200": + headers: + "000-foo": + schema: + type: string diff --git a/pkg/codegen/operations.go b/pkg/codegen/operations.go index f881b1426f..3aa64ac3fb 100644 --- a/pkg/codegen/operations.go +++ b/pkg/codegen/operations.go @@ -751,7 +751,7 @@ func GenerateResponseDefinitions(operationID string, responses openapi3.Response if err != nil { return nil, fmt.Errorf("error generating response header definition: %w", err) } - headerDefinition := ResponseHeaderDefinition{Name: headerName, GoName: ToCamelCase(headerName), Schema: contentSchema} + headerDefinition := ResponseHeaderDefinition{Name: headerName, GoName: SchemaNameToTypeName(headerName), Schema: contentSchema} responseHeaderDefinitions = append(responseHeaderDefinitions, headerDefinition) }