Skip to content
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

Update NotContains match mode for Header and QueryParameters to support missing/empty values #2258

Merged
merged 6 commits into from Sep 26, 2023

Conversation

evmurphy
Copy link
Contributor

@evmurphy evmurphy commented Sep 22, 2023

fixes #2260

Currently the NotContains modes for both Header and QueryParameter matches do not match correctly when the value of the header/query is empty or if the key does not exist entirely.

Updated the match logic to the below (assuming any non-empty request values match the value specified by the route):

Type Mode RequestKey RequestValue CurrentMatch ExpectedMatch
Header/QueryParam NotContains None - No Yes
Header/QueryParam NotContains Exists Empty No Yes
Header/QueryParam NotContains Exists NonEmpty No No

@evmurphy
Copy link
Contributor Author

@evmurphy please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.

@microsoft-github-policy-service agree [company="{your company}"]

Options:

  • (default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.
@microsoft-github-policy-service agree
  • (when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.
@microsoft-github-policy-service agree company="Microsoft"

Contributor License Agreement

@microsoft-github-policy-service agree company="Microsoft"

@evmurphy evmurphy marked this pull request as ready for review September 22, 2023 17:22
@evmurphy evmurphy changed the title Update Exists, NotExists, and NotContains match modes for Header and QueryParameters to support missing/empty values Update NotContains match mode for Header and QueryParameters to support missing/empty values Sep 26, 2023
Copy link
Member

@MihaZupan MihaZupan left a comment

Choose a reason for hiding this comment

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

Thanks, I just changed the style a little bit

@MihaZupan MihaZupan merged commit ea2ad4c into microsoft:main Sep 26, 2023
7 checks passed
@MihaZupan MihaZupan added this to the YARP 2.x milestone Sep 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

NotContains match modes for Header and QueryParameters incorrect for missing/empty values
3 participants