Skip to content

[Scala sttp] Fix header serialization for Optional values #21603

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

Mattias-Sehlstedt
Copy link
Contributor

fixes #21602

Marked as a draft while attempting to find a proper solution for how to handle required header parameters that are complex (i.e., the header contains a ref rather than a string).

paths:
  /ping:
    get:
      summary: Ping with required header
      operationId: getPing
      parameters:
        - name: X-Required-Schema-Header
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/UUID'
components:
  schemas:
    UUID:
      type: object
      properties:
        uuid:
          type: string

PR checklist

  • Read the contribution guidelines.
  • Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community.
  • Run the following to build the project and update samples:
    ./mvnw clean package || exit
    ./bin/generate-samples.sh ./bin/configs/*.yaml || exit
    ./bin/utils/export_docs_generators.sh || exit
    
    (For Windows users, please run the script in WSL)
    Commit all changed files.
    This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
    These must match the expectations made by your contribution.
    You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example ./bin/generate-samples.sh bin/configs/java*.
    IMPORTANT: Do NOT purge/delete any folders/files (e.g. tests) when regenerating the samples as manually written tests may be removed.
  • File the PR against the correct branch: master (upcoming 7.x.0 minor release - breaking changes with fallbacks), 8.0.x (breaking changes without fallbacks)
  • If your PR is targeting a particular programming language, @mention the technical committee members, so they are more likely to review the pull request.

@Mattias-Sehlstedt Mattias-Sehlstedt force-pushed the scala-sttp-header-serialization branch from b44fa4a to 9b49804 Compare July 21, 2025 19:16
@Mattias-Sehlstedt Mattias-Sehlstedt changed the title Adjust header serialization for Optional values [Scala sttp] Fix header serialization for Optional values Jul 21, 2025
@wing328
Copy link
Member

wing328 commented Jul 24, 2025

how to handle required header parameters that are complex (i.e., the header contains a ref rather than a string).

meanwhile we can consider that as an edge case and only start looking into it if users have such a use case

@wing328
Copy link
Member

wing328 commented Aug 1, 2025

is this ready for merge?

if yes, i'll try to get it merged over the weekend after running some local tests

@Mattias-Sehlstedt
Copy link
Contributor Author

Hi, I would say it is ready for merging give the small size of the changes.

I had hoped that I would get additional input from the issue author, but not something I have received yet.

@Mattias-Sehlstedt Mattias-Sehlstedt marked this pull request as ready for review August 1, 2025 09:25
@wing328 wing328 merged commit 02ba9f6 into OpenAPITools:master Aug 2, 2025
26 checks passed
@wing328 wing328 added this to the 7.15.0 milestone Aug 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BUG][scala-sttp] Optional header values incorrectly serialized as "Some(value)"`
2 participants