fix: prevent infinite loop when bypassing sendBeacon()
requests
#2353
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.
sendBeacon
causes infinite loop with response patching #1216Motivation
Requests issued via the
sendBeacon
function have immutable headers. Any header but for the known headers will be ignored. This also means that thex-msw-intention: passthrough
request header set by thebypass()
function will be ignored, causing the infinite loop when bypassing an interceptedsendBeacon
request.Changes
Move the
x-msw-intention: passthrough
toaccept: msw/passthrough
. Theaccept
header is always preserved, and it should be safe to rely on it to provision bypassed requests identification.Also fixes the issue where the request bypass header was preserved for passthrough requests in Node.js only.