fix: Missing header detection for the non-strict case #702
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi!
When #651 was implemented the header matching rule was subtly broken, making it no longer detect when the specified headers were missing entirely (vs present, but with the wrong value) unless you used strict matching.
As far as I understand that is not the intention, and you should be able to use the header matcher to detect missing headers without necessarily caring about all of the other headers in the request. It's a small change to enable that, and it preserves the strict match and regex match logic.
I've added a test case that fails without the current change, and the rest of the cases still pass with it in place.