-
-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Description
If the user uses a .har file that contained a websocket entry , this package will throw an exception:
Uncaught (in promise) RangeError: Failed to construct 'Response': The status provided (101) is outside the range [200, 599].
at toResponse (@mswjs_source_traffic.js)
at fromTraffic (@mswjs_source_traffic.js)
https://github.com/mswjs/source/blob/main/src/traffic/utils/har-utils.ts#L40
Reproduction steps
-
Go to a site that open a websocket (your dev env might be enough if it has a fast-refresh)
-
Open your network and look for a WS resource (like ws://localhost:3006/ GET 101 Switching Protocols)

-
Export the logs as HAR file
-
Try to generate the request handlers following the instructions
HAR file
test/traffic/fixtures/archives/entry-with-ws.har
Test template
it(
'does not throw an exception given an HAR file with a websocket entry',
() => {
const traffic = readArchive(
'test/traffic/fixtures/archives/entry-with-ws.har',
)
expect(() => fromTraffic(traffic)).not.toThrow()
},
)
Expected behavior
It would be ideal if the library didn't throw an exception, or if we could add an entry in the documentation advising users to filter those entries in HAR before using it.
Workaround
fromTraffic(traffic, (entry) => {
if (entry._resourceType === 'websocket') {
return
}
return entry
})
joacim-boive
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working