FIX: Request>Auth>Bearer configuration does not override if Collection>Auth>Basic is set. #1409
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.
Description
Fixes #1536 and #960
The way axios handles the
auth
property on the request configurations makes it such that it will always take precedence over theheaders.authorization
for the headers object. This was causing issues where the Bruno Collection has Basic Auth and the Request being run has Bearer Auth.Reproducing
req.headers
property the server receivedThis will result in
Basic ========
; in this fix it should beBearer =======
Alternative implementation
Instead of inverting logic and doing conditional validations consider potentially mutating the request object.
By doing
delete request.auth
on the condition for the request on bearer mode the bug can be avoided. Although I tend to shy away from mutating objects this way as it may have unintended side-effects.Contribution Checklist:
Note: Keeping the PR small and focused helps make it easier to review and merge. If you have multiple changes you want to make, please consider submitting them as separate pull requests.
Publishing to New Package Managers
Please see here for more information.