| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
…se content type uses string type Signed-off-by: Sarath Sadasivan Pillai <sarathsp06@gmail.com>
…se content type uses string type (oapi-codegen#1132) Signed-off-by: Sarath Sadasivan Pillai <sarathsp06@gmail.com>
|
@sarathsp06 @deepmap-marcinr Looks like this PR broke the echo strict server: /healthz:
get:
tags: [Service]
summary: Liveness probe
description: Is the app alive or dead?
operationId: livenessProbe
responses:
'200':
description: Ok
content: {text/plain: {example: OK}}
headers: {X-Request-Id: {schema: {$ref: '#/components/schemas/RequestID'}, description: Request ID}}type LivenessProbe200TextResponse string
func (response LivenessProbe200TextResponse) VisitLivenessProbeResponse(w http.ResponseWriter) error {
w.Header().Set("Content-Type", "text/plain")
w.Header().Set("X-Request-Id", fmt.Sprint(response.Headers.XRequestId))
w.WriteHeader(200)
_, err := w.Write([]byte(response.Body))
return err
}package: openapi
generate:
echo-server: true
strict-server: true
models: true
embedded-spec: true |
Sorry, something went wrong.
…se content type uses string type (oapi-codegen#1132) Signed-off-by: Sarath Sadasivan Pillai <sarathsp06@gmail.com>
|
This is being reverted as part of #1773, apologies for the impact! |
Sorry, something went wrong.
…api-codegen#2190) When a response is defined as a $ref to a component response with text/plain content type (and no headers), the strict-server template generated a struct-embedding type whose Visit method tried to call []byte(response) on a struct, which failed to compile. The root cause was the revert of PR oapi-codegen#1132 (commit 891a067), which had originally fixed this by making all text responses string types. That PR was reverted because it broke text responses with headers (oapi-codegen#1676), which require the struct form with a Body field. The fix extends the existing multipart special case in Branch 1A of the strict-interface template to also cover text responses without headers. This generates a named type alias (e.g. `type GetTest401TextResponse UnauthorizedTextResponse`) instead of a struct embedding, so []byte(response) compiles and works correctly. Text responses with headers continue to go through Branch 1C (struct with Body + Headers fields), so oapi-codegen#1676 is unaffected — confirmed by verifying no diff in internal/test/issues/issue-1676/ping.gen.go. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…2225) * test: add regression test for issue #2190 Add a minimal reproduction for invalid generated code when reusing response components. The generated VisitGetTestResponse method attempts []byte(response) on a struct type, which does not compile. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: generate correct type for $ref text responses in strict server (#2190) When a response is defined as a $ref to a component response with text/plain content type (and no headers), the strict-server template generated a struct-embedding type whose Visit method tried to call []byte(response) on a struct, which failed to compile. The root cause was the revert of PR #1132 (commit 891a067), which had originally fixed this by making all text responses string types. That PR was reverted because it broke text responses with headers (#1676), which require the struct form with a Body field. The fix extends the existing multipart special case in Branch 1A of the strict-interface template to also cover text responses without headers. This generates a named type alias (e.g. `type GetTest401TextResponse UnauthorizedTextResponse`) instead of a struct embedding, so []byte(response) compiles and works correctly. Text responses with headers continue to go through Branch 1C (struct with Body + Headers fields), so #1676 is unaffected — confirmed by verifying no diff in internal/test/issues/issue-1676/ping.gen.go. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
| Back | FazBrowse Home | New Git URL |
fix strict-interface template to make sure text response content type uses string type.
This is in reference to #1130 . The code change is probably not semantically correct, happy to make appropriate changes