Skip to content

[typescript-fetch] Remove undefined headers#11757

Merged
macjohnny merged 1 commit intoOpenAPITools:masterfrom
LeComptoirDesPharmacies:feature/LDS-2228-remove-undefined-from-headers
Mar 1, 2022
Merged

[typescript-fetch] Remove undefined headers#11757
macjohnny merged 1 commit intoOpenAPITools:masterfrom
LeComptoirDesPharmacies:feature/LDS-2228-remove-undefined-from-headers

Conversation

@LeComptoirDesPharmacies
Copy link
Copy Markdown
Contributor

@LeComptoirDesPharmacies LeComptoirDesPharmacies commented Mar 1, 2022

Remove undefined values from headers

I have encountered this issues when I want to pass an api key in the request but the endpoint support multiple header api key.
So I use a fonction to set the right api key and set the other api key to undefined.

With this code :

function getFirstApiKey(keyName) {
    if (keyName === 'first-api-key') {
      return "my-key-value";
    }
    return undefined;
  };

The generated code for api key in the api endpoint :

    if (this.configuration && this.configuration.apiKey) {
        headerParameters["first-api-key"] = this.configuration.apiKey("first-api-key"); // first-api-key authentication
    }

    if (this.configuration && this.configuration.apiKey) {
        headerParameters["second-api-key"] = this.configuration.apiKey("second-api-key"); // second-api-key authentication
    }

The generated apiKey function :

    get apiKey(): ((name: string) => string) | undefined {
        const apiKey = this.configuration.apiKey;
        if (apiKey) {
            return typeof apiKey === 'function' ? apiKey : () => apiKey;
        }
        return undefined;
    }

Result headers :

first-api-key: my-key-value
second-api-key: undefined

Expected headers :

first-api-key: my-key-value

The headers was send with the two api key with one with the right value and the other with undefined as a string

To fix this issues, just remove any header who has undefined as value.

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.3.0), 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.

@TiFu (2017/07) @taxpon (2017/07) @sebastianhaas (2017/07) @kenisteward (2017/07) @Vrolijkx (2017/09) @macjohnny (2018/01) @topce (2018/10) @akehir (2019/07) @petejohansonxo (2019/11) @amakhrov (2020/02)

Thanks for the review

Remove undefined value from header

Envoyé depuis mon iPhone.
P.S. : Ce commit est certifié sans gluten
Copy link
Copy Markdown
Member

@macjohnny macjohnny left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@macjohnny macjohnny merged commit dfc471d into OpenAPITools:master Mar 1, 2022
@macjohnny macjohnny added this to the 6.0.0 milestone Mar 1, 2022
@LeComptoirDesPharmacies LeComptoirDesPharmacies deleted the feature/LDS-2228-remove-undefined-from-headers branch March 1, 2022 17:11
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.

3 participants