Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • O openapi-generator
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 3,476
    • Issues 3,476
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 402
    • Merge requests 402
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • OpenAPI Tools
  • openapi-generator
  • Merge requests
  • !9820

[JAVA CLIENT] Add Support to Override Headers for each Request

  • Review changes

  • Download
  • Email patches
  • Plain diff
Closed Administrator requested to merge github/fork/confluentinc/cyrus-java-client into master Jun 21, 2021
  • Overview 0
  • Commits 4
  • Pipelines 0
  • Changes 24

Created by: cyrusv

My first contribution -- hoping everything is set up ok!

Resolves https://github.com/OpenAPITools/openapi-generator/issues/9792. Basically, I want to use a shared connection, but I want to specify different JWT for each request. This has to be done by overloading the calls (some calls have no params or primitive params, so I need to have a new param). I implemented as a headers map to be more generally useful.

I added a Map<String, String> headers to the client calls, and passed it down the stack.

While I was fixing, I found it difficult to reason about when these headers were being modified, because the String[] authNames parameter was kind of goofy, and all the request headers were not modified in the same place -- I changed the code to now do all the header changes/mutations in one place. This makes it easier to know for certain that any headers intended to override are in fact added after all other mutations to the headers.

Hoping for feedback from Java reviewers: @bbdouglas @sreeshas @jfiala @lukoyanov @cbornet @jeff9finger @karismann @Zomzog @lwlee2608 @nmuesch

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 
    ./bin/generate-samples.sh
    ./bin/utils/export_docs_generators.sh
    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*. For Windows users, please run the script in Git BASH.
  • File the PR against the correct branch: master, 5.1.x, 6.0.x
  • If your PR is targeting a particular programming language, @mention the technical committee members, so they are more likely to review the pull request.

Also I'm an openapi newbie, so would certainly appreciate some help understanding the test failures in CI?

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/confluentinc/cyrus-java-client