msw 2.15.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -0
- package/cli/init.js +12 -9
- package/cli/invariant.js +2 -2
- package/lib/_chunks/attach-sibling-handlers.js +360 -0
- package/lib/_chunks/attach-sibling-handlers.js.map +1 -0
- package/lib/_chunks/colors.js +18 -0
- package/lib/_chunks/colors.js.map +1 -0
- package/lib/_chunks/cookie-store.js +348 -0
- package/lib/_chunks/cookie-store.js.map +1 -0
- package/lib/_chunks/execute-handlers.js +29 -0
- package/lib/_chunks/execute-handlers.js.map +1 -0
- package/lib/_chunks/handlers-controller.d.ts +262 -0
- package/lib/_chunks/has-ref-counted.js +9 -0
- package/lib/_chunks/has-ref-counted.js.map +1 -0
- package/lib/_chunks/http-handler.d.ts +72 -0
- package/lib/_chunks/http-handler.js +182 -0
- package/lib/_chunks/http-handler.js.map +1 -0
- package/lib/_chunks/http-response.js +137 -0
- package/lib/_chunks/http-response.js.map +1 -0
- package/lib/{core → _chunks}/http.d.ts +15 -18
- package/lib/_chunks/http.js +30 -0
- package/lib/_chunks/http.js.map +1 -0
- package/lib/_chunks/interceptor-source.d.ts +163 -0
- package/lib/_chunks/interceptor-source.js +756 -0
- package/lib/_chunks/interceptor-source.js.map +1 -0
- package/lib/_chunks/is-object.js +11 -0
- package/lib/_chunks/is-object.js.map +1 -0
- package/lib/_chunks/match-request-url.d.ts +14 -0
- package/lib/_chunks/request-handler.d.ts +295 -0
- package/lib/_chunks/request-handler.js +369 -0
- package/lib/_chunks/request-handler.js.map +1 -0
- package/lib/_chunks/shared-options.d.ts +20 -0
- package/lib/_chunks/sse.d.ts +95 -0
- package/lib/_chunks/sse.js +599 -0
- package/lib/_chunks/sse.js.map +1 -0
- package/lib/_chunks/symbols.js +22 -0
- package/lib/_chunks/symbols.js.map +1 -0
- package/lib/_chunks/websocket-upgrade.js +46 -0
- package/lib/_chunks/websocket-upgrade.js.map +1 -0
- package/lib/_chunks/ws.d.ts +133 -0
- package/lib/_chunks/ws.js +293 -0
- package/lib/_chunks/ws.js.map +1 -0
- package/lib/browser/index.d.ts +225 -96
- package/lib/browser/index.js +555 -3694
- package/lib/browser/index.js.map +1 -1
- package/lib/core/experimental/index.d.ts +3 -17
- package/lib/core/experimental/index.js +2 -38
- package/lib/core/index.d.ts +15 -27
- package/lib/core/index.js +15 -64
- package/lib/graphql/index.d.ts +550 -0
- package/lib/graphql/index.js +1244 -0
- package/lib/graphql/index.js.map +1 -0
- package/lib/http/index.d.ts +4 -0
- package/lib/http/index.js +4 -0
- package/lib/iife/index.js +35857 -28422
- package/lib/iife/index.js.map +1 -1
- package/lib/mockServiceWorker.js +185 -86
- package/lib/node/index.d.ts +79 -104
- package/lib/node/index.js +103 -201
- package/lib/node/index.js.map +1 -1
- package/lib/sse/index.d.ts +2 -0
- package/lib/sse/index.js +2 -0
- package/lib/{core → utils}/bypass.d.ts +5 -4
- package/lib/utils/bypass.js +41 -0
- package/lib/utils/bypass.js.map +1 -0
- package/lib/utils/delay.d.ts +15 -0
- package/lib/utils/delay.js +45 -0
- package/lib/utils/delay.js.map +1 -0
- package/lib/utils/get-clean-url-string.d.ts +9 -0
- package/lib/utils/get-clean-url-string.js +15 -0
- package/lib/utils/get-clean-url-string.js.map +1 -0
- package/lib/utils/get-response.d.ts +13 -0
- package/lib/utils/get-response.js +23 -0
- package/lib/utils/get-response.js.map +1 -0
- package/lib/utils/is-common-asset-request.d.ts +22 -0
- package/lib/utils/is-common-asset-request.js +31 -0
- package/lib/utils/is-common-asset-request.js.map +1 -0
- package/lib/utils/passthrough.d.ts +31 -0
- package/lib/utils/passthrough.js +41 -0
- package/lib/utils/passthrough.js.map +1 -0
- package/lib/vite/index.d.ts +44 -0
- package/lib/vite/index.js +90 -0
- package/lib/vite/index.js.map +1 -0
- package/lib/vite/runtime.d.ts +6 -0
- package/lib/vite/runtime.js +77 -0
- package/lib/vite/runtime.js.map +1 -0
- package/lib/ws/index.d.ts +4 -0
- package/lib/ws/index.js +4 -0
- package/package.json +93 -201
- package/src/browser/default-network-options.ts +31 -0
- package/src/browser/glossary.ts +11 -23
- package/src/browser/index.ts +5 -1
- package/src/browser/setup-worker.ts +15 -68
- package/src/browser/sources/fallback-http-source.ts +1 -1
- package/src/browser/sources/service-worker-source.ts +76 -69
- package/src/browser/tsconfig.browser.json +4 -2
- package/src/browser/utils/{deserializeRequest.ts → deserialize-request.ts} +3 -4
- package/src/browser/utils/{getAbsoluteWorkerUrl.test.ts → get-absolute-worker-url.test.ts} +3 -3
- package/src/browser/utils/get-worker-instance.ts +2 -2
- package/src/browser/utils/should-invalidate-worker.test.ts +11 -11
- package/src/browser/utils/should-invalidate-worker.ts +1 -1
- package/src/browser/utils/validate-worker-scope.ts +1 -1
- package/src/browser/utils/{workerChannel.ts → worker-channel.ts} +42 -20
- package/src/core/experimental/define-network.test.ts +43 -8
- package/src/core/experimental/define-network.ts +32 -13
- package/src/core/experimental/frames/http-frame.test.ts +15 -13
- package/src/core/experimental/frames/http-frame.ts +10 -9
- package/src/core/experimental/frames/websocket-frame.test.ts +129 -15
- package/src/core/experimental/frames/websocket-frame.ts +71 -20
- package/src/core/experimental/handlers-controller.test.ts +141 -34
- package/src/core/experimental/handlers-controller.ts +107 -30
- package/src/core/experimental/index.ts +1 -0
- package/src/core/experimental/on-unhandled-frame.test.ts +19 -19
- package/src/core/experimental/on-unhandled-frame.ts +7 -12
- package/src/core/experimental/request-utils.test.ts +4 -29
- package/src/core/experimental/request-utils.ts +0 -14
- package/src/core/experimental/sources/interceptor-source.ts +44 -29
- package/src/core/experimental/sources/network-source.test.ts +3 -3
- package/src/core/experimental/sources/network-source.ts +3 -3
- package/src/core/handlers/handler.ts +42 -0
- package/src/core/handlers/{RequestHandler.ts → request-handler.ts} +26 -41
- package/src/core/index.ts +35 -58
- package/src/core/shared-options.ts +21 -0
- package/src/core/type-utils.ts +18 -0
- package/src/core/utils/{cookieStore.ts → cookie-store.ts} +14 -9
- package/src/core/utils/{executeHandlers.ts → execute-handlers.ts} +2 -2
- package/src/core/utils/http-status-messages.ts +69 -0
- package/src/core/utils/internal/{attachSiblingHandlers.ts → attach-sibling-handlers.ts} +20 -0
- package/src/core/utils/internal/{devUtils.test.ts → dev-utils.test.ts} +3 -3
- package/src/core/utils/internal/{Disposable.ts → disposable.ts} +1 -1
- package/src/core/utils/internal/{getCallFrame.test.ts → get-call-frame.test.ts} +1 -1
- package/src/core/utils/internal/{getCallFrame.ts → get-call-frame.ts} +1 -1
- package/src/core/utils/internal/{hasRefCounted.test.ts → has-ref-counted.test.ts} +4 -4
- package/src/core/utils/internal/{hasRefCounted.ts → has-ref-counted.ts} +1 -1
- package/src/core/utils/internal/{isIterable.test.ts → is-iterable.test.ts} +1 -1
- package/src/core/utils/internal/is-iterable.ts +16 -0
- package/src/core/utils/internal/{isObject.test.ts → is-object.test.ts} +1 -1
- package/src/core/utils/internal/{isStringEqual.test.ts → is-string-equal.test.ts} +7 -7
- package/src/core/utils/internal/{jsonParse.test.ts → json-parse.test.ts} +1 -1
- package/src/core/utils/internal/observe-response-body-stream.test.ts +7 -7
- package/src/core/utils/internal/observe-response-body-stream.ts +3 -4
- package/src/core/utils/internal/{parseMultipartData.test.ts → parse-multipart-data.test.ts} +1 -1
- package/src/core/utils/internal/{parseMultipartData.ts → parse-multipart-data.ts} +1 -1
- package/src/core/utils/internal/{toReadonlyArray.test.ts → to-readonly-array.test.ts} +4 -4
- package/src/core/utils/logging/colors.ts +13 -0
- package/src/core/utils/logging/{getStatusCodeColor.test.ts → get-status-code-color.test.ts} +1 -1
- package/src/core/utils/logging/{getTimestamp.test.ts → get-timestamp.test.ts} +1 -1
- package/src/core/utils/logging/{serializeRequest.test.ts → serialize-request.test.ts} +1 -1
- package/src/core/utils/logging/{serializeResponse.test.ts → serialize-response.test.ts} +8 -10
- package/src/core/utils/logging/{serializeResponse.ts → serialize-response.ts} +2 -4
- package/src/core/utils/matching/match-request-url.test.ts +90 -0
- package/src/core/utils/matching/match-request-url.ts +45 -0
- package/src/core/utils/matching/{normalizePath.node.test.ts → normalize-path.node.test.ts} +2 -4
- package/src/core/utils/matching/{normalizePath.test.ts → normalize-path.test.ts} +2 -4
- package/src/core/utils/matching/{normalizePath.ts → normalize-path.ts} +8 -5
- package/src/core/utils/request/{getAllAcceptedMimeTypes.test.ts → get-all-accepted-mime-types.test.ts} +14 -14
- package/src/core/utils/request/get-request-cookies.ts +76 -0
- package/src/core/utils/request/store-response-cookies.ts +15 -0
- package/src/core/utils/request/{toPublicUrl.node.test.ts → to-public-url.node.test.ts} +1 -1
- package/src/core/utils/request/{toPublicUrl.test.ts → to-public-url.test.ts} +2 -2
- package/src/core/utils/{HttpResponse/decorators.ts → response-decorators.ts} +6 -8
- package/src/core/utils/url/{getAbsoluteUrl.node.test.ts → get-absolute-url.node.test.ts} +5 -7
- package/src/core/utils/url/{getAbsoluteUrl.test.ts → get-absolute-url.test.ts} +7 -7
- package/src/core/utils/url/{getAbsoluteUrl.ts → get-absolute-url.ts} +1 -1
- package/src/core/utils/url/is-absolute-url.test.ts +30 -0
- package/src/{core/handlers/GraphQLHandler.test.ts → graphql/graphql-handler.test.ts} +37 -36
- package/src/{core/handlers/GraphQLHandler.ts → graphql/graphql-handler.ts} +54 -41
- package/src/graphql/graphql-subscription-event.ts +39 -0
- package/src/graphql/graphql-subscription.test.ts +208 -0
- package/src/graphql/graphql-subscription.ts +1487 -0
- package/src/graphql/graphql.test.ts +14 -0
- package/src/graphql/graphql.ts +179 -0
- package/src/graphql/index.ts +34 -0
- package/src/{core/utils/internal/parseGraphQLRequest.test.ts → graphql/parse-graphql-request.test.ts} +47 -6
- package/src/{core/utils/internal/parseGraphQLRequest.ts → graphql/parse-graphql-request.ts} +59 -32
- package/src/{core/handlers/HttpHandler.test.ts → http/http-handler.test.ts} +22 -22
- package/src/{core/handlers/HttpHandler.ts → http/http-handler.ts} +16 -18
- package/src/{core/HttpResponse.test.ts → http/http-response.test.ts} +25 -27
- package/src/{core/HttpResponse.ts → http/http-response.ts} +15 -17
- package/src/{core → http}/http.ts +7 -7
- package/src/http/index.test.ts +19 -0
- package/src/http/index.ts +22 -0
- package/src/http/symbols.ts +19 -0
- package/src/iife/index.ts +2 -0
- package/src/mockServiceWorker.js +183 -84
- package/src/node/async-handlers-controller.test.ts +4 -4
- package/src/node/glossary.ts +8 -4
- package/src/node/index.ts +1 -6
- package/src/node/setup-server-common.ts +16 -73
- package/src/node/setup-server.ts +9 -40
- package/src/sse/index.test.ts +14 -0
- package/src/sse/index.ts +7 -0
- package/src/{core → sse}/sse.ts +25 -21
- package/src/tsconfig.core.build.json +5 -1
- package/src/tsconfig.core.json +8 -1
- package/src/tsconfig.node.json +1 -1
- package/src/tsconfig.src.json +1 -1
- package/src/{core → utils}/bypass.test.ts +22 -5
- package/src/{core → utils}/bypass.ts +11 -0
- package/src/{core → utils}/delay.ts +5 -5
- package/src/utils/get-clean-url-string.test.ts +24 -0
- package/src/utils/get-clean-url-string.ts +16 -0
- package/src/{core/getResponse.test.ts → utils/get-response.test.ts} +9 -9
- package/src/{core/getResponse.ts → utils/get-response.ts} +2 -2
- package/src/{core/isCommonAssetRequest.ts → utils/is-common-asset-request.ts} +4 -3
- package/src/utils/passthrough.test.ts +41 -0
- package/src/utils/passthrough.ts +46 -0
- package/src/vite/client.d.ts +16 -0
- package/src/vite/index.ts +4 -0
- package/src/vite/options.d.ts +5 -0
- package/src/vite/plugin.test.ts +918 -0
- package/src/vite/plugin.ts +133 -0
- package/src/vite/runtime.ts +117 -0
- package/src/vite/tsconfig.build.json +7 -0
- package/src/ws/index.ts +23 -0
- package/src/{core/ws/utils/attachWebSocketLogger.ts → ws/utils/attach-websocket-logger.ts} +45 -23
- package/src/{core/ws/utils/getMessageLength.test.ts → ws/utils/get-message-length.test.ts} +4 -4
- package/src/{core/ws/utils/getMessageLength.ts → ws/utils/get-message-length.ts} +1 -1
- package/src/{core/ws/utils/getPublicData.test.ts → ws/utils/get-public-data.test.ts} +7 -7
- package/src/ws/utils/get-public-data.ts +23 -0
- package/src/{core/ws/utils/truncateMessage.test.ts → ws/utils/truncate-message.test.ts} +3 -3
- package/src/{core/ws/WebSocketClientManager.test.ts → ws/websocket-client-manager.test.ts} +8 -9
- package/src/{core/ws/WebSocketClientManager.ts → ws/websocket-client-manager.ts} +24 -28
- package/src/{core/ws/WebSocketClientStore.ts → ws/websocket-client-store.ts} +2 -2
- package/src/{core/handlers/WebSocketHandler.test.ts → ws/websocket-handler.test.ts} +15 -15
- package/src/{core/handlers/WebSocketHandler.ts → ws/websocket-handler.ts} +144 -32
- package/src/{core/ws/WebSocketIndexedDBClientStore.ts → ws/websocket-indexeddb-client-store.ts} +12 -13
- package/src/{core/ws/WebSocketMemoryClientStore.ts → ws/websocket-memory-client-store.ts} +4 -4
- package/src/ws/websocket-upgrade.ts +83 -0
- package/src/{core → ws}/ws.test.ts +3 -4
- package/src/{core → ws}/ws.ts +106 -53
- package/browser/package.json +0 -31
- package/cli/package.json +0 -3
- package/config/package.json +0 -3
- package/config/scripts/postinstall.js +0 -36
- package/lib/browser/index.d.mts +0 -112
- package/lib/browser/index.mjs +0 -3706
- package/lib/browser/index.mjs.map +0 -1
- package/lib/core/HttpResponse-BE_Y2Ak9.d.mts +0 -389
- package/lib/core/HttpResponse-DL-P1EeG.d.ts +0 -389
- package/lib/core/HttpResponse.d.mts +0 -6
- package/lib/core/HttpResponse.d.ts +0 -6
- package/lib/core/HttpResponse.js +0 -176
- package/lib/core/HttpResponse.js.map +0 -1
- package/lib/core/HttpResponse.mjs +0 -159
- package/lib/core/HttpResponse.mjs.map +0 -1
- package/lib/core/bypass.d.mts +0 -16
- package/lib/core/bypass.js +0 -42
- package/lib/core/bypass.js.map +0 -1
- package/lib/core/bypass.mjs +0 -22
- package/lib/core/bypass.mjs.map +0 -1
- package/lib/core/delay.d.mts +0 -18
- package/lib/core/delay.d.ts +0 -18
- package/lib/core/delay.js +0 -77
- package/lib/core/delay.js.map +0 -1
- package/lib/core/delay.mjs +0 -57
- package/lib/core/delay.mjs.map +0 -1
- package/lib/core/experimental/compat.d.mts +0 -17
- package/lib/core/experimental/compat.d.ts +0 -17
- package/lib/core/experimental/compat.js +0 -55
- package/lib/core/experimental/compat.js.map +0 -1
- package/lib/core/experimental/compat.mjs +0 -37
- package/lib/core/experimental/compat.mjs.map +0 -1
- package/lib/core/experimental/define-network.d.mts +0 -75
- package/lib/core/experimental/define-network.d.ts +0 -75
- package/lib/core/experimental/define-network.js +0 -134
- package/lib/core/experimental/define-network.js.map +0 -1
- package/lib/core/experimental/define-network.mjs +0 -119
- package/lib/core/experimental/define-network.mjs.map +0 -1
- package/lib/core/experimental/frames/http-frame.d.mts +0 -77
- package/lib/core/experimental/frames/http-frame.d.ts +0 -77
- package/lib/core/experimental/frames/http-frame.js +0 -197
- package/lib/core/experimental/frames/http-frame.js.map +0 -1
- package/lib/core/experimental/frames/http-frame.mjs +0 -181
- package/lib/core/experimental/frames/http-frame.mjs.map +0 -1
- package/lib/core/experimental/frames/network-frame.d.mts +0 -12
- package/lib/core/experimental/frames/network-frame.d.ts +0 -12
- package/lib/core/experimental/frames/network-frame.js +0 -35
- package/lib/core/experimental/frames/network-frame.js.map +0 -1
- package/lib/core/experimental/frames/network-frame.mjs +0 -15
- package/lib/core/experimental/frames/network-frame.mjs.map +0 -1
- package/lib/core/experimental/frames/websocket-frame.d.mts +0 -55
- package/lib/core/experimental/frames/websocket-frame.d.ts +0 -55
- package/lib/core/experimental/frames/websocket-frame.js +0 -131
- package/lib/core/experimental/frames/websocket-frame.js.map +0 -1
- package/lib/core/experimental/frames/websocket-frame.mjs +0 -118
- package/lib/core/experimental/frames/websocket-frame.mjs.map +0 -1
- package/lib/core/experimental/handlers-controller.d.mts +0 -36
- package/lib/core/experimental/handlers-controller.d.ts +0 -36
- package/lib/core/experimental/handlers-controller.js +0 -146
- package/lib/core/experimental/handlers-controller.js.map +0 -1
- package/lib/core/experimental/handlers-controller.mjs +0 -126
- package/lib/core/experimental/handlers-controller.mjs.map +0 -1
- package/lib/core/experimental/index.d.mts +0 -17
- package/lib/core/experimental/index.js.map +0 -1
- package/lib/core/experimental/index.mjs +0 -27
- package/lib/core/experimental/index.mjs.map +0 -1
- package/lib/core/experimental/on-unhandled-frame.d.mts +0 -12
- package/lib/core/experimental/on-unhandled-frame.d.ts +0 -12
- package/lib/core/experimental/on-unhandled-frame.js +0 -91
- package/lib/core/experimental/on-unhandled-frame.js.map +0 -1
- package/lib/core/experimental/on-unhandled-frame.mjs +0 -71
- package/lib/core/experimental/on-unhandled-frame.mjs.map +0 -1
- package/lib/core/experimental/request-utils.d.mts +0 -12
- package/lib/core/experimental/request-utils.d.ts +0 -12
- package/lib/core/experimental/request-utils.js +0 -50
- package/lib/core/experimental/request-utils.js.map +0 -1
- package/lib/core/experimental/request-utils.mjs +0 -30
- package/lib/core/experimental/request-utils.mjs.map +0 -1
- package/lib/core/experimental/setup-api.d.mts +0 -33
- package/lib/core/experimental/setup-api.d.ts +0 -33
- package/lib/core/experimental/setup-api.js +0 -58
- package/lib/core/experimental/setup-api.js.map +0 -1
- package/lib/core/experimental/setup-api.mjs +0 -40
- package/lib/core/experimental/setup-api.mjs.map +0 -1
- package/lib/core/experimental/sources/interceptor-source.d.mts +0 -28
- package/lib/core/experimental/sources/interceptor-source.d.ts +0 -28
- package/lib/core/experimental/sources/interceptor-source.js +0 -155
- package/lib/core/experimental/sources/interceptor-source.js.map +0 -1
- package/lib/core/experimental/sources/interceptor-source.mjs +0 -135
- package/lib/core/experimental/sources/interceptor-source.mjs.map +0 -1
- package/lib/core/experimental/sources/network-source.d.mts +0 -31
- package/lib/core/experimental/sources/network-source.d.ts +0 -31
- package/lib/core/experimental/sources/network-source.js +0 -51
- package/lib/core/experimental/sources/network-source.js.map +0 -1
- package/lib/core/experimental/sources/network-source.mjs +0 -32
- package/lib/core/experimental/sources/network-source.mjs.map +0 -1
- package/lib/core/getResponse.d.mts +0 -18
- package/lib/core/getResponse.d.ts +0 -18
- package/lib/core/getResponse.js +0 -35
- package/lib/core/getResponse.js.map +0 -1
- package/lib/core/getResponse.mjs +0 -17
- package/lib/core/getResponse.mjs.map +0 -1
- package/lib/core/graphql.d.mts +0 -76
- package/lib/core/graphql.d.ts +0 -76
- package/lib/core/graphql.js +0 -91
- package/lib/core/graphql.js.map +0 -1
- package/lib/core/graphql.mjs +0 -74
- package/lib/core/graphql.mjs.map +0 -1
- package/lib/core/handlers/GraphQLHandler.d.mts +0 -6
- package/lib/core/handlers/GraphQLHandler.d.ts +0 -6
- package/lib/core/handlers/GraphQLHandler.js +0 -232
- package/lib/core/handlers/GraphQLHandler.js.map +0 -1
- package/lib/core/handlers/GraphQLHandler.mjs +0 -221
- package/lib/core/handlers/GraphQLHandler.mjs.map +0 -1
- package/lib/core/handlers/HttpHandler.d.mts +0 -75
- package/lib/core/handlers/HttpHandler.d.ts +0 -75
- package/lib/core/handlers/HttpHandler.js +0 -129
- package/lib/core/handlers/HttpHandler.js.map +0 -1
- package/lib/core/handlers/HttpHandler.mjs +0 -113
- package/lib/core/handlers/HttpHandler.mjs.map +0 -1
- package/lib/core/handlers/RequestHandler.d.mts +0 -6
- package/lib/core/handlers/RequestHandler.d.ts +0 -6
- package/lib/core/handlers/RequestHandler.js +0 -365
- package/lib/core/handlers/RequestHandler.js.map +0 -1
- package/lib/core/handlers/RequestHandler.mjs +0 -348
- package/lib/core/handlers/RequestHandler.mjs.map +0 -1
- package/lib/core/handlers/WebSocketHandler.d.mts +0 -49
- package/lib/core/handlers/WebSocketHandler.d.ts +0 -49
- package/lib/core/handlers/WebSocketHandler.js +0 -178
- package/lib/core/handlers/WebSocketHandler.js.map +0 -1
- package/lib/core/handlers/WebSocketHandler.mjs +0 -160
- package/lib/core/handlers/WebSocketHandler.mjs.map +0 -1
- package/lib/core/http.d.mts +0 -31
- package/lib/core/http.js +0 -41
- package/lib/core/http.js.map +0 -1
- package/lib/core/http.mjs +0 -25
- package/lib/core/http.mjs.map +0 -1
- package/lib/core/index.d.mts +0 -27
- package/lib/core/index.js.map +0 -1
- package/lib/core/index.mjs +0 -52
- package/lib/core/index.mjs.map +0 -1
- package/lib/core/isCommonAssetRequest.d.mts +0 -20
- package/lib/core/isCommonAssetRequest.d.ts +0 -20
- package/lib/core/isCommonAssetRequest.js +0 -42
- package/lib/core/isCommonAssetRequest.js.map +0 -1
- package/lib/core/isCommonAssetRequest.mjs +0 -22
- package/lib/core/isCommonAssetRequest.mjs.map +0 -1
- package/lib/core/on-unhandled-frame-0KmwUmeV.d.ts +0 -56
- package/lib/core/on-unhandled-frame-gkokW4Rr.d.mts +0 -56
- package/lib/core/passthrough.d.mts +0 -24
- package/lib/core/passthrough.d.ts +0 -24
- package/lib/core/passthrough.js +0 -33
- package/lib/core/passthrough.js.map +0 -1
- package/lib/core/passthrough.mjs +0 -13
- package/lib/core/passthrough.mjs.map +0 -1
- package/lib/core/sharedOptions.d.mts +0 -68
- package/lib/core/sharedOptions.d.ts +0 -68
- package/lib/core/sharedOptions.js +0 -17
- package/lib/core/sharedOptions.js.map +0 -1
- package/lib/core/sharedOptions.mjs +0 -1
- package/lib/core/sharedOptions.mjs.map +0 -1
- package/lib/core/sse.d.mts +0 -102
- package/lib/core/sse.d.ts +0 -102
- package/lib/core/sse.js +0 -690
- package/lib/core/sse.js.map +0 -1
- package/lib/core/sse.mjs +0 -672
- package/lib/core/sse.mjs.map +0 -1
- package/lib/core/typeUtils.d.mts +0 -12
- package/lib/core/typeUtils.d.ts +0 -12
- package/lib/core/typeUtils.js +0 -17
- package/lib/core/typeUtils.js.map +0 -1
- package/lib/core/typeUtils.mjs +0 -1
- package/lib/core/typeUtils.mjs.map +0 -1
- package/lib/core/utils/HttpResponse/decorators.d.mts +0 -22
- package/lib/core/utils/HttpResponse/decorators.d.ts +0 -22
- package/lib/core/utils/HttpResponse/decorators.js +0 -84
- package/lib/core/utils/HttpResponse/decorators.js.map +0 -1
- package/lib/core/utils/HttpResponse/decorators.mjs +0 -54
- package/lib/core/utils/HttpResponse/decorators.mjs.map +0 -1
- package/lib/core/utils/cookieStore.d.mts +0 -13
- package/lib/core/utils/cookieStore.d.ts +0 -13
- package/lib/core/utils/cookieStore.js +0 -90
- package/lib/core/utils/cookieStore.js.map +0 -1
- package/lib/core/utils/cookieStore.mjs +0 -74
- package/lib/core/utils/cookieStore.mjs.map +0 -1
- package/lib/core/utils/executeHandlers.d.mts +0 -6
- package/lib/core/utils/executeHandlers.d.ts +0 -6
- package/lib/core/utils/executeHandlers.js +0 -51
- package/lib/core/utils/executeHandlers.js.map +0 -1
- package/lib/core/utils/executeHandlers.mjs +0 -31
- package/lib/core/utils/executeHandlers.mjs.map +0 -1
- package/lib/core/utils/handleRequest.d.mts +0 -30
- package/lib/core/utils/handleRequest.d.ts +0 -30
- package/lib/core/utils/handleRequest.js +0 -76
- package/lib/core/utils/handleRequest.js.map +0 -1
- package/lib/core/utils/handleRequest.mjs +0 -58
- package/lib/core/utils/handleRequest.mjs.map +0 -1
- package/lib/core/utils/internal/Disposable.d.mts +0 -7
- package/lib/core/utils/internal/Disposable.d.ts +0 -7
- package/lib/core/utils/internal/Disposable.js +0 -51
- package/lib/core/utils/internal/Disposable.js.map +0 -1
- package/lib/core/utils/internal/Disposable.mjs +0 -31
- package/lib/core/utils/internal/Disposable.mjs.map +0 -1
- package/lib/core/utils/internal/attachSiblingHandlers.d.mts +0 -15
- package/lib/core/utils/internal/attachSiblingHandlers.d.ts +0 -15
- package/lib/core/utils/internal/attachSiblingHandlers.js +0 -44
- package/lib/core/utils/internal/attachSiblingHandlers.js.map +0 -1
- package/lib/core/utils/internal/attachSiblingHandlers.mjs +0 -24
- package/lib/core/utils/internal/attachSiblingHandlers.mjs.map +0 -1
- package/lib/core/utils/internal/checkGlobals.d.mts +0 -3
- package/lib/core/utils/internal/checkGlobals.d.ts +0 -3
- package/lib/core/utils/internal/checkGlobals.js +0 -34
- package/lib/core/utils/internal/checkGlobals.js.map +0 -1
- package/lib/core/utils/internal/checkGlobals.mjs +0 -14
- package/lib/core/utils/internal/checkGlobals.mjs.map +0 -1
- package/lib/core/utils/internal/devUtils.d.mts +0 -28
- package/lib/core/utils/internal/devUtils.d.ts +0 -28
- package/lib/core/utils/internal/devUtils.js +0 -48
- package/lib/core/utils/internal/devUtils.js.map +0 -1
- package/lib/core/utils/internal/devUtils.mjs +0 -28
- package/lib/core/utils/internal/devUtils.mjs.map +0 -1
- package/lib/core/utils/internal/getCallFrame.d.mts +0 -6
- package/lib/core/utils/internal/getCallFrame.d.ts +0 -6
- package/lib/core/utils/internal/getCallFrame.js +0 -41
- package/lib/core/utils/internal/getCallFrame.js.map +0 -1
- package/lib/core/utils/internal/getCallFrame.mjs +0 -21
- package/lib/core/utils/internal/getCallFrame.mjs.map +0 -1
- package/lib/core/utils/internal/hasRefCounted.d.mts +0 -3
- package/lib/core/utils/internal/hasRefCounted.d.ts +0 -3
- package/lib/core/utils/internal/hasRefCounted.js +0 -34
- package/lib/core/utils/internal/hasRefCounted.js.map +0 -1
- package/lib/core/utils/internal/hasRefCounted.mjs +0 -14
- package/lib/core/utils/internal/hasRefCounted.mjs.map +0 -1
- package/lib/core/utils/internal/isHandlerKind.d.mts +0 -19
- package/lib/core/utils/internal/isHandlerKind.d.ts +0 -19
- package/lib/core/utils/internal/isHandlerKind.js +0 -30
- package/lib/core/utils/internal/isHandlerKind.js.map +0 -1
- package/lib/core/utils/internal/isHandlerKind.mjs +0 -10
- package/lib/core/utils/internal/isHandlerKind.mjs.map +0 -1
- package/lib/core/utils/internal/isIterable.d.mts +0 -20
- package/lib/core/utils/internal/isIterable.d.ts +0 -20
- package/lib/core/utils/internal/isIterable.js +0 -30
- package/lib/core/utils/internal/isIterable.js.map +0 -1
- package/lib/core/utils/internal/isIterable.mjs +0 -10
- package/lib/core/utils/internal/isIterable.mjs.map +0 -1
- package/lib/core/utils/internal/isObject.d.mts +0 -6
- package/lib/core/utils/internal/isObject.d.ts +0 -6
- package/lib/core/utils/internal/isObject.js +0 -27
- package/lib/core/utils/internal/isObject.js.map +0 -1
- package/lib/core/utils/internal/isObject.mjs +0 -7
- package/lib/core/utils/internal/isObject.mjs.map +0 -1
- package/lib/core/utils/internal/isStringEqual.d.mts +0 -6
- package/lib/core/utils/internal/isStringEqual.d.ts +0 -6
- package/lib/core/utils/internal/isStringEqual.js +0 -27
- package/lib/core/utils/internal/isStringEqual.js.map +0 -1
- package/lib/core/utils/internal/isStringEqual.mjs +0 -7
- package/lib/core/utils/internal/isStringEqual.mjs.map +0 -1
- package/lib/core/utils/internal/jsonParse.d.mts +0 -7
- package/lib/core/utils/internal/jsonParse.d.ts +0 -7
- package/lib/core/utils/internal/jsonParse.js +0 -31
- package/lib/core/utils/internal/jsonParse.js.map +0 -1
- package/lib/core/utils/internal/jsonParse.mjs +0 -11
- package/lib/core/utils/internal/jsonParse.mjs.map +0 -1
- package/lib/core/utils/internal/mergeRight.d.mts +0 -7
- package/lib/core/utils/internal/mergeRight.d.ts +0 -7
- package/lib/core/utils/internal/mergeRight.js +0 -43
- package/lib/core/utils/internal/mergeRight.js.map +0 -1
- package/lib/core/utils/internal/mergeRight.mjs +0 -23
- package/lib/core/utils/internal/mergeRight.mjs.map +0 -1
- package/lib/core/utils/internal/observe-response-body-stream.d.mts +0 -18
- package/lib/core/utils/internal/observe-response-body-stream.d.ts +0 -18
- package/lib/core/utils/internal/observe-response-body-stream.js +0 -64
- package/lib/core/utils/internal/observe-response-body-stream.js.map +0 -1
- package/lib/core/utils/internal/observe-response-body-stream.mjs +0 -44
- package/lib/core/utils/internal/observe-response-body-stream.mjs.map +0 -1
- package/lib/core/utils/internal/parseGraphQLRequest.d.mts +0 -6
- package/lib/core/utils/internal/parseGraphQLRequest.d.ts +0 -6
- package/lib/core/utils/internal/parseGraphQLRequest.js +0 -146
- package/lib/core/utils/internal/parseGraphQLRequest.js.map +0 -1
- package/lib/core/utils/internal/parseGraphQLRequest.mjs +0 -129
- package/lib/core/utils/internal/parseGraphQLRequest.mjs.map +0 -1
- package/lib/core/utils/internal/parseMultipartData.d.mts +0 -14
- package/lib/core/utils/internal/parseMultipartData.d.ts +0 -14
- package/lib/core/utils/internal/parseMultipartData.js +0 -84
- package/lib/core/utils/internal/parseMultipartData.js.map +0 -1
- package/lib/core/utils/internal/parseMultipartData.mjs +0 -64
- package/lib/core/utils/internal/parseMultipartData.mjs.map +0 -1
- package/lib/core/utils/internal/pipeEvents.d.mts +0 -8
- package/lib/core/utils/internal/pipeEvents.d.ts +0 -8
- package/lib/core/utils/internal/pipeEvents.js +0 -37
- package/lib/core/utils/internal/pipeEvents.js.map +0 -1
- package/lib/core/utils/internal/pipeEvents.mjs +0 -17
- package/lib/core/utils/internal/pipeEvents.mjs.map +0 -1
- package/lib/core/utils/internal/toReadonlyArray.d.mts +0 -6
- package/lib/core/utils/internal/toReadonlyArray.d.ts +0 -6
- package/lib/core/utils/internal/toReadonlyArray.js +0 -29
- package/lib/core/utils/internal/toReadonlyArray.js.map +0 -1
- package/lib/core/utils/internal/toReadonlyArray.mjs +0 -9
- package/lib/core/utils/internal/toReadonlyArray.mjs.map +0 -1
- package/lib/core/utils/internal/tryCatch.d.mts +0 -3
- package/lib/core/utils/internal/tryCatch.d.ts +0 -3
- package/lib/core/utils/internal/tryCatch.js +0 -32
- package/lib/core/utils/internal/tryCatch.js.map +0 -1
- package/lib/core/utils/internal/tryCatch.mjs +0 -12
- package/lib/core/utils/internal/tryCatch.mjs.map +0 -1
- package/lib/core/utils/logging/getStatusCodeColor.d.mts +0 -11
- package/lib/core/utils/logging/getStatusCodeColor.d.ts +0 -11
- package/lib/core/utils/logging/getStatusCodeColor.js +0 -40
- package/lib/core/utils/logging/getStatusCodeColor.js.map +0 -1
- package/lib/core/utils/logging/getStatusCodeColor.mjs +0 -20
- package/lib/core/utils/logging/getStatusCodeColor.mjs.map +0 -1
- package/lib/core/utils/logging/getTimestamp.d.mts +0 -9
- package/lib/core/utils/logging/getTimestamp.d.ts +0 -9
- package/lib/core/utils/logging/getTimestamp.js +0 -32
- package/lib/core/utils/logging/getTimestamp.js.map +0 -1
- package/lib/core/utils/logging/getTimestamp.mjs +0 -12
- package/lib/core/utils/logging/getTimestamp.mjs.map +0 -1
- package/lib/core/utils/logging/serializeRequest.d.mts +0 -12
- package/lib/core/utils/logging/serializeRequest.d.ts +0 -12
- package/lib/core/utils/logging/serializeRequest.js +0 -34
- package/lib/core/utils/logging/serializeRequest.js.map +0 -1
- package/lib/core/utils/logging/serializeRequest.mjs +0 -14
- package/lib/core/utils/logging/serializeRequest.mjs.map +0 -1
- package/lib/core/utils/logging/serializeResponse.d.mts +0 -9
- package/lib/core/utils/logging/serializeResponse.d.ts +0 -9
- package/lib/core/utils/logging/serializeResponse.js +0 -48
- package/lib/core/utils/logging/serializeResponse.js.map +0 -1
- package/lib/core/utils/logging/serializeResponse.mjs +0 -18
- package/lib/core/utils/logging/serializeResponse.mjs.map +0 -1
- package/lib/core/utils/matching/matchRequestUrl.d.mts +0 -20
- package/lib/core/utils/matching/matchRequestUrl.d.ts +0 -20
- package/lib/core/utils/matching/matchRequestUrl.js +0 -55
- package/lib/core/utils/matching/matchRequestUrl.js.map +0 -1
- package/lib/core/utils/matching/matchRequestUrl.mjs +0 -35
- package/lib/core/utils/matching/matchRequestUrl.mjs.map +0 -1
- package/lib/core/utils/matching/normalizePath.d.mts +0 -13
- package/lib/core/utils/matching/normalizePath.d.ts +0 -13
- package/lib/core/utils/matching/normalizePath.js +0 -33
- package/lib/core/utils/matching/normalizePath.js.map +0 -1
- package/lib/core/utils/matching/normalizePath.mjs +0 -13
- package/lib/core/utils/matching/normalizePath.mjs.map +0 -1
- package/lib/core/utils/request/getAllAcceptedMimeTypes.d.mts +0 -14
- package/lib/core/utils/request/getAllAcceptedMimeTypes.d.ts +0 -14
- package/lib/core/utils/request/getAllAcceptedMimeTypes.js +0 -61
- package/lib/core/utils/request/getAllAcceptedMimeTypes.js.map +0 -1
- package/lib/core/utils/request/getAllAcceptedMimeTypes.mjs +0 -41
- package/lib/core/utils/request/getAllAcceptedMimeTypes.mjs.map +0 -1
- package/lib/core/utils/request/getRequestCookies.d.mts +0 -3
- package/lib/core/utils/request/getRequestCookies.d.ts +0 -3
- package/lib/core/utils/request/getRequestCookies.js +0 -79
- package/lib/core/utils/request/getRequestCookies.js.map +0 -1
- package/lib/core/utils/request/getRequestCookies.mjs +0 -62
- package/lib/core/utils/request/getRequestCookies.mjs.map +0 -1
- package/lib/core/utils/request/onUnhandledRequest.d.mts +0 -9
- package/lib/core/utils/request/onUnhandledRequest.d.ts +0 -9
- package/lib/core/utils/request/onUnhandledRequest.js +0 -76
- package/lib/core/utils/request/onUnhandledRequest.js.map +0 -1
- package/lib/core/utils/request/onUnhandledRequest.mjs +0 -56
- package/lib/core/utils/request/onUnhandledRequest.mjs.map +0 -1
- package/lib/core/utils/request/storeResponseCookies.d.mts +0 -3
- package/lib/core/utils/request/storeResponseCookies.d.ts +0 -3
- package/lib/core/utils/request/storeResponseCookies.js +0 -32
- package/lib/core/utils/request/storeResponseCookies.js.map +0 -1
- package/lib/core/utils/request/storeResponseCookies.mjs +0 -12
- package/lib/core/utils/request/storeResponseCookies.mjs.map +0 -1
- package/lib/core/utils/request/toPublicUrl.d.mts +0 -7
- package/lib/core/utils/request/toPublicUrl.d.ts +0 -7
- package/lib/core/utils/request/toPublicUrl.js +0 -31
- package/lib/core/utils/request/toPublicUrl.js.map +0 -1
- package/lib/core/utils/request/toPublicUrl.mjs +0 -11
- package/lib/core/utils/request/toPublicUrl.mjs.map +0 -1
- package/lib/core/utils/toResponseInit.d.mts +0 -3
- package/lib/core/utils/toResponseInit.d.ts +0 -3
- package/lib/core/utils/toResponseInit.js +0 -31
- package/lib/core/utils/toResponseInit.js.map +0 -1
- package/lib/core/utils/toResponseInit.mjs +0 -11
- package/lib/core/utils/toResponseInit.mjs.map +0 -1
- package/lib/core/utils/url/cleanUrl.d.mts +0 -7
- package/lib/core/utils/url/cleanUrl.d.ts +0 -7
- package/lib/core/utils/url/cleanUrl.js +0 -31
- package/lib/core/utils/url/cleanUrl.js.map +0 -1
- package/lib/core/utils/url/cleanUrl.mjs +0 -11
- package/lib/core/utils/url/cleanUrl.mjs.map +0 -1
- package/lib/core/utils/url/getAbsoluteUrl.d.mts +0 -6
- package/lib/core/utils/url/getAbsoluteUrl.d.ts +0 -6
- package/lib/core/utils/url/getAbsoluteUrl.js +0 -38
- package/lib/core/utils/url/getAbsoluteUrl.js.map +0 -1
- package/lib/core/utils/url/getAbsoluteUrl.mjs +0 -18
- package/lib/core/utils/url/getAbsoluteUrl.mjs.map +0 -1
- package/lib/core/utils/url/isAbsoluteUrl.d.mts +0 -6
- package/lib/core/utils/url/isAbsoluteUrl.d.ts +0 -6
- package/lib/core/utils/url/isAbsoluteUrl.js +0 -27
- package/lib/core/utils/url/isAbsoluteUrl.js.map +0 -1
- package/lib/core/utils/url/isAbsoluteUrl.mjs +0 -7
- package/lib/core/utils/url/isAbsoluteUrl.mjs.map +0 -1
- package/lib/core/ws/WebSocketClientManager.d.mts +0 -65
- package/lib/core/ws/WebSocketClientManager.d.ts +0 -65
- package/lib/core/ws/WebSocketClientManager.js +0 -163
- package/lib/core/ws/WebSocketClientManager.js.map +0 -1
- package/lib/core/ws/WebSocketClientManager.mjs +0 -143
- package/lib/core/ws/WebSocketClientManager.mjs.map +0 -1
- package/lib/core/ws/WebSocketClientStore.d.mts +0 -13
- package/lib/core/ws/WebSocketClientStore.d.ts +0 -13
- package/lib/core/ws/WebSocketClientStore.js +0 -26
- package/lib/core/ws/WebSocketClientStore.js.map +0 -1
- package/lib/core/ws/WebSocketClientStore.mjs +0 -6
- package/lib/core/ws/WebSocketClientStore.mjs.map +0 -1
- package/lib/core/ws/WebSocketIndexedDBClientStore.d.mts +0 -14
- package/lib/core/ws/WebSocketIndexedDBClientStore.d.ts +0 -14
- package/lib/core/ws/WebSocketIndexedDBClientStore.js +0 -131
- package/lib/core/ws/WebSocketIndexedDBClientStore.js.map +0 -1
- package/lib/core/ws/WebSocketIndexedDBClientStore.mjs +0 -111
- package/lib/core/ws/WebSocketIndexedDBClientStore.mjs.map +0 -1
- package/lib/core/ws/WebSocketMemoryClientStore.d.mts +0 -12
- package/lib/core/ws/WebSocketMemoryClientStore.d.ts +0 -12
- package/lib/core/ws/WebSocketMemoryClientStore.js +0 -42
- package/lib/core/ws/WebSocketMemoryClientStore.js.map +0 -1
- package/lib/core/ws/WebSocketMemoryClientStore.mjs +0 -22
- package/lib/core/ws/WebSocketMemoryClientStore.mjs.map +0 -1
- package/lib/core/ws/handleWebSocketEvent.d.mts +0 -20
- package/lib/core/ws/handleWebSocketEvent.d.ts +0 -20
- package/lib/core/ws/handleWebSocketEvent.js +0 -61
- package/lib/core/ws/handleWebSocketEvent.js.map +0 -1
- package/lib/core/ws/handleWebSocketEvent.mjs +0 -43
- package/lib/core/ws/handleWebSocketEvent.mjs.map +0 -1
- package/lib/core/ws/utils/attachWebSocketLogger.d.mts +0 -18
- package/lib/core/ws/utils/attachWebSocketLogger.d.ts +0 -18
- package/lib/core/ws/utils/attachWebSocketLogger.js +0 -228
- package/lib/core/ws/utils/attachWebSocketLogger.js.map +0 -1
- package/lib/core/ws/utils/attachWebSocketLogger.mjs +0 -208
- package/lib/core/ws/utils/attachWebSocketLogger.mjs.map +0 -1
- package/lib/core/ws/utils/getMessageLength.d.mts +0 -11
- package/lib/core/ws/utils/getMessageLength.d.ts +0 -11
- package/lib/core/ws/utils/getMessageLength.js +0 -34
- package/lib/core/ws/utils/getMessageLength.js.map +0 -1
- package/lib/core/ws/utils/getMessageLength.mjs +0 -14
- package/lib/core/ws/utils/getMessageLength.mjs.map +0 -1
- package/lib/core/ws/utils/getPublicData.d.mts +0 -5
- package/lib/core/ws/utils/getPublicData.d.ts +0 -5
- package/lib/core/ws/utils/getPublicData.js +0 -37
- package/lib/core/ws/utils/getPublicData.js.map +0 -1
- package/lib/core/ws/utils/getPublicData.mjs +0 -17
- package/lib/core/ws/utils/getPublicData.mjs.map +0 -1
- package/lib/core/ws/utils/truncateMessage.d.mts +0 -3
- package/lib/core/ws/utils/truncateMessage.d.ts +0 -3
- package/lib/core/ws/utils/truncateMessage.js +0 -31
- package/lib/core/ws/utils/truncateMessage.js.map +0 -1
- package/lib/core/ws/utils/truncateMessage.mjs +0 -11
- package/lib/core/ws/utils/truncateMessage.mjs.map +0 -1
- package/lib/core/ws/webSocketInterceptor.d.mts +0 -5
- package/lib/core/ws/webSocketInterceptor.d.ts +0 -5
- package/lib/core/ws/webSocketInterceptor.js +0 -26
- package/lib/core/ws/webSocketInterceptor.js.map +0 -1
- package/lib/core/ws/webSocketInterceptor.mjs +0 -6
- package/lib/core/ws/webSocketInterceptor.mjs.map +0 -1
- package/lib/core/ws.d.mts +0 -88
- package/lib/core/ws.d.ts +0 -88
- package/lib/core/ws.js +0 -94
- package/lib/core/ws.js.map +0 -1
- package/lib/core/ws.mjs +0 -80
- package/lib/core/ws.mjs.map +0 -1
- package/lib/native/index.d.mts +0 -66
- package/lib/native/index.d.ts +0 -66
- package/lib/native/index.js +0 -88
- package/lib/native/index.js.map +0 -1
- package/lib/native/index.mjs +0 -67
- package/lib/native/index.mjs.map +0 -1
- package/lib/node/index.d.mts +0 -113
- package/lib/node/index.mjs +0 -185
- package/lib/node/index.mjs.map +0 -1
- package/lib/shims/cookie.d.mts +0 -7
- package/lib/shims/cookie.d.ts +0 -7
- package/lib/shims/cookie.js +0 -294
- package/lib/shims/cookie.mjs +0 -286
- package/lib/shims/statuses.d.mts +0 -6
- package/lib/shims/statuses.d.ts +0 -6
- package/lib/shims/statuses.js +0 -195
- package/lib/shims/statuses.mjs +0 -187
- package/native/package.json +0 -30
- package/node/package.json +0 -33
- package/src/browser/utils/pruneGetRequestBody.test.ts +0 -51
- package/src/browser/utils/pruneGetRequestBody.ts +0 -21
- package/src/core/experimental/compat.ts +0 -50
- package/src/core/experimental/setup-api.ts +0 -55
- package/src/core/graphql.test.ts +0 -11
- package/src/core/graphql.ts +0 -136
- package/src/core/passthrough.test.ts +0 -11
- package/src/core/passthrough.ts +0 -25
- package/src/core/sharedOptions.ts +0 -71
- package/src/core/typeUtils.ts +0 -26
- package/src/core/utils/handleRequest.test.ts +0 -574
- package/src/core/utils/handleRequest.ts +0 -117
- package/src/core/utils/internal/checkGlobals.ts +0 -17
- package/src/core/utils/internal/isHandlerKind.test.ts +0 -62
- package/src/core/utils/internal/isHandlerKind.ts +0 -17
- package/src/core/utils/internal/isIterable.ts +0 -32
- package/src/core/utils/internal/mergeRight.test.ts +0 -43
- package/src/core/utils/internal/mergeRight.ts +0 -30
- package/src/core/utils/internal/pipeEvents.test.ts +0 -14
- package/src/core/utils/internal/pipeEvents.ts +0 -26
- package/src/core/utils/internal/tryCatch.test.ts +0 -29
- package/src/core/utils/internal/tryCatch.ts +0 -11
- package/src/core/utils/matching/matchRequestUrl.test.ts +0 -267
- package/src/core/utils/matching/matchRequestUrl.ts +0 -77
- package/src/core/utils/request/getRequestCookies.ts +0 -88
- package/src/core/utils/request/onUnhandledRequest.node.test.ts +0 -62
- package/src/core/utils/request/onUnhandledRequest.test.ts +0 -226
- package/src/core/utils/request/onUnhandledRequest.ts +0 -81
- package/src/core/utils/request/storeResponseCookies.ts +0 -15
- package/src/core/utils/url/cleanUrl.test.ts +0 -22
- package/src/core/utils/url/cleanUrl.ts +0 -16
- package/src/core/utils/url/isAbsoluteUrl.test.ts +0 -32
- package/src/core/ws/handleWebSocketEvent.ts +0 -68
- package/src/core/ws/utils/getPublicData.ts +0 -18
- package/src/core/ws/webSocketInterceptor.ts +0 -3
- package/src/native/index.ts +0 -44
- package/src/package.json +0 -3
- package/src/shims/cookie.ts +0 -7
- package/src/shims/statuses.ts +0 -6
- /package/src/browser/utils/{getAbsoluteWorkerUrl.ts → get-absolute-worker-url.ts} +0 -0
- /package/src/core/utils/internal/{devUtils.ts → dev-utils.ts} +0 -0
- /package/src/core/utils/internal/{isObject.ts → is-object.ts} +0 -0
- /package/src/core/utils/internal/{isStringEqual.ts → is-string-equal.ts} +0 -0
- /package/src/core/utils/internal/{jsonParse.ts → json-parse.ts} +0 -0
- /package/src/core/utils/internal/{toReadonlyArray.ts → to-readonly-array.ts} +0 -0
- /package/src/core/utils/logging/{getStatusCodeColor.ts → get-status-code-color.ts} +0 -0
- /package/src/core/utils/logging/{getTimestamp.ts → get-timestamp.ts} +0 -0
- /package/src/core/utils/logging/{serializeRequest.ts → serialize-request.ts} +0 -0
- /package/src/core/utils/request/{getAllAcceptedMimeTypes.ts → get-all-accepted-mime-types.ts} +0 -0
- /package/src/core/utils/request/{toPublicUrl.ts → to-public-url.ts} +0 -0
- /package/src/core/utils/{toResponseInit.ts → to-response-init.ts} +0 -0
- /package/src/core/utils/url/{isAbsoluteUrl.ts → is-absolute-url.ts} +0 -0
- /package/src/{core → http}/http.test.ts +0 -0
- /package/src/{core/ws/utils/truncateMessage.ts → ws/utils/truncate-message.ts} +0 -0
|
@@ -1,34 +1,77 @@
|
|
|
1
1
|
import { invariant } from 'outvariant'
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
2
|
+
import type { HandlerKind } from '../handlers/handler'
|
|
3
|
+
import type { RequestHandler } from '../handlers/request-handler'
|
|
4
|
+
import type {
|
|
5
|
+
WebSocketHandler,
|
|
6
|
+
AnyWebSocketExtension,
|
|
7
|
+
} from '#ws/websocket-handler'
|
|
8
|
+
import { devUtils } from '../utils/internal/dev-utils'
|
|
9
|
+
import type { MaybePromise } from '../type-utils'
|
|
10
|
+
import {
|
|
11
|
+
getSiblingHandlers,
|
|
12
|
+
isSiblingHandler,
|
|
13
|
+
} from '../utils/internal/attach-sibling-handlers'
|
|
14
|
+
|
|
15
|
+
export type AnyHandler =
|
|
16
|
+
RequestHandler | WebSocketHandler<AnyWebSocketExtension>
|
|
17
|
+
type HandlerOfKind<Kind extends HandlerKind> = Extract<
|
|
18
|
+
AnyHandler,
|
|
19
|
+
{ kind: Kind }
|
|
20
|
+
>
|
|
21
|
+
type HandlersMapOfKind<Kind extends HandlerKind> = {
|
|
22
|
+
[K in Kind]?: Array<HandlerOfKind<K>>
|
|
23
|
+
}
|
|
24
|
+
export type HandlersMap = HandlersMapOfKind<HandlerKind>
|
|
25
|
+
|
|
26
|
+
function addHandlerToGroup<Kind extends HandlerKind>(
|
|
27
|
+
groups: HandlersMapOfKind<Kind>,
|
|
28
|
+
kind: Kind,
|
|
29
|
+
handler: HandlerOfKind<Kind>,
|
|
30
|
+
): void {
|
|
31
|
+
const bucket = (groups[kind] ||= [])
|
|
32
|
+
bucket.push(handler)
|
|
33
|
+
}
|
|
6
34
|
|
|
7
|
-
|
|
8
|
-
|
|
35
|
+
function prependHandlersToGroup<Kind extends HandlerKind>(
|
|
36
|
+
groups: HandlersMapOfKind<Kind>,
|
|
37
|
+
kind: Kind,
|
|
38
|
+
overridesForKind: Array<HandlerOfKind<Kind>>,
|
|
39
|
+
): void {
|
|
40
|
+
const existingForKind = groups[kind]
|
|
41
|
+
|
|
42
|
+
groups[kind] = existingForKind
|
|
43
|
+
? [
|
|
44
|
+
...overridesForKind,
|
|
45
|
+
...existingForKind.filter((existingHandler) => {
|
|
46
|
+
return !overridesForKind.includes(existingHandler)
|
|
47
|
+
}),
|
|
48
|
+
]
|
|
49
|
+
: overridesForKind
|
|
50
|
+
}
|
|
9
51
|
|
|
10
52
|
export function groupHandlersByKind(handlers: Array<AnyHandler>): HandlersMap {
|
|
11
53
|
const groups: HandlersMap = {}
|
|
54
|
+
const visitedHandlers = new Set<AnyHandler>()
|
|
12
55
|
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
if (!bucket.includes(handler)) {
|
|
17
|
-
bucket.push(handler)
|
|
56
|
+
const visit = (handler: AnyHandler) => {
|
|
57
|
+
if (visitedHandlers.has(handler)) {
|
|
58
|
+
return
|
|
18
59
|
}
|
|
19
|
-
}
|
|
20
60
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
*/
|
|
24
|
-
for (const handler of handlers) {
|
|
25
|
-
pushUnique(handler.kind, handler)
|
|
61
|
+
visitedHandlers.add(handler)
|
|
62
|
+
addHandlerToGroup(groups, handler.kind, handler)
|
|
26
63
|
|
|
64
|
+
// Recurse so siblings of siblings (user-composed handler
|
|
65
|
+
// graphs) are grouped as well, not silently dropped.
|
|
27
66
|
for (const sibling of getSiblingHandlers(handler)) {
|
|
28
|
-
|
|
67
|
+
visit(sibling)
|
|
29
68
|
}
|
|
30
69
|
}
|
|
31
70
|
|
|
71
|
+
for (const handler of handlers) {
|
|
72
|
+
visit(handler)
|
|
73
|
+
}
|
|
74
|
+
|
|
32
75
|
return groups
|
|
33
76
|
}
|
|
34
77
|
|
|
@@ -65,7 +108,24 @@ export abstract class HandlersController {
|
|
|
65
108
|
.filter((handler) => handler != null)
|
|
66
109
|
}
|
|
67
110
|
|
|
68
|
-
|
|
111
|
+
/**
|
|
112
|
+
* Return the list of explicitly registered handlers.
|
|
113
|
+
* Unlike `currentHandlers()`, this excludes sibling handlers,
|
|
114
|
+
* which are an implementation detail (e.g. the WebSocket upgrade
|
|
115
|
+
* handler or the GraphQL subscription transport).
|
|
116
|
+
*/
|
|
117
|
+
public listHandlers(): Array<AnyHandler> {
|
|
118
|
+
return this.currentHandlers().filter((handler) => {
|
|
119
|
+
return !isSiblingHandler(handler)
|
|
120
|
+
})
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Return the list of handlers of the given kind.
|
|
125
|
+
*/
|
|
126
|
+
public getHandlersByKind<Kind extends HandlerKind>(
|
|
127
|
+
kind: Kind,
|
|
128
|
+
): Array<HandlerOfKind<Kind>> {
|
|
69
129
|
return this.getState().handlers[kind] || []
|
|
70
130
|
}
|
|
71
131
|
|
|
@@ -86,12 +146,15 @@ export abstract class HandlersController {
|
|
|
86
146
|
|
|
87
147
|
// Prepend overrides to their respective kind buckets so they take
|
|
88
148
|
// priority over existing handlers while preserving input order.
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
149
|
+
// Drop existing references that reappear in the overrides (e.g. a
|
|
150
|
+
// shared upgrade sibling from the same link) so a handler is never
|
|
151
|
+
// registered twice.
|
|
152
|
+
if (overrides.request) {
|
|
153
|
+
prependHandlersToGroup(handlers, 'request', overrides.request)
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
if (overrides.websocket) {
|
|
157
|
+
prependHandlersToGroup(handlers, 'websocket', overrides.websocket)
|
|
95
158
|
}
|
|
96
159
|
|
|
97
160
|
this.setState({ handlers })
|
|
@@ -106,9 +169,7 @@ export abstract class HandlersController {
|
|
|
106
169
|
)
|
|
107
170
|
|
|
108
171
|
for (const handler of this.currentHandlers()) {
|
|
109
|
-
|
|
110
|
-
handler['reset']()
|
|
111
|
-
}
|
|
172
|
+
handler.reset()
|
|
112
173
|
}
|
|
113
174
|
|
|
114
175
|
const { initialHandlers } = this.getState()
|
|
@@ -131,10 +192,26 @@ export abstract class HandlersController {
|
|
|
131
192
|
|
|
132
193
|
public restore(): void {
|
|
133
194
|
for (const handler of this.currentHandlers()) {
|
|
134
|
-
|
|
135
|
-
|
|
195
|
+
handler.restore()
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
public dispose(): MaybePromise<void> {
|
|
200
|
+
const pendingDisposals: Array<Promise<void>> = []
|
|
201
|
+
|
|
202
|
+
for (const handler of this.currentHandlers()) {
|
|
203
|
+
const disposal = handler.dispose()
|
|
204
|
+
|
|
205
|
+
if (disposal instanceof Promise) {
|
|
206
|
+
pendingDisposals.push(disposal)
|
|
136
207
|
}
|
|
137
208
|
}
|
|
209
|
+
|
|
210
|
+
// Stay synchronous unless a handler actually disposes of
|
|
211
|
+
// itself asynchronously.
|
|
212
|
+
if (pendingDisposals.length > 0) {
|
|
213
|
+
return Promise.all(pendingDisposals).then(() => {})
|
|
214
|
+
}
|
|
138
215
|
}
|
|
139
216
|
|
|
140
217
|
#validateHandlers(handlers: Array<AnyHandler>): boolean {
|
|
@@ -48,7 +48,7 @@ class TestWebSocketFrame extends WebSocketNetworkFrame {
|
|
|
48
48
|
errorWith = () => {}
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
test('does not print any warnings or errors using the "bypass" strategy', async () => {
|
|
52
52
|
await expect(
|
|
53
53
|
executeUnhandledFrameHandle(
|
|
54
54
|
new TestHttpFrame(new Request('http://localhost/test')),
|
|
@@ -59,7 +59,7 @@ it('does not print any warnings or errors using the "bypass" strategy', async ()
|
|
|
59
59
|
expect(console.error).not.toHaveBeenCalled()
|
|
60
60
|
})
|
|
61
61
|
|
|
62
|
-
|
|
62
|
+
test('prints a warning for the HTTP frame using the "warn" strategy', async () => {
|
|
63
63
|
await expect(
|
|
64
64
|
executeUnhandledFrameHandle(
|
|
65
65
|
new TestHttpFrame(new Request('http://localhost/test')),
|
|
@@ -79,14 +79,14 @@ Read more: https://mswjs.io/docs/http/intercepting-requests`,
|
|
|
79
79
|
expect(console.error).not.toHaveBeenCalled()
|
|
80
80
|
})
|
|
81
81
|
|
|
82
|
-
|
|
82
|
+
test('rejects and prints an error for the HTTP frame using the "error" strategy', async () => {
|
|
83
83
|
await expect(
|
|
84
84
|
executeUnhandledFrameHandle(
|
|
85
85
|
new TestHttpFrame(new Request('http://localhost/test')),
|
|
86
86
|
'error',
|
|
87
87
|
),
|
|
88
88
|
).rejects.toThrow(
|
|
89
|
-
`[MSW] Cannot bypass a request when using the "error" strategy for the "
|
|
89
|
+
`[MSW] Cannot bypass a request when using the "error" strategy for the "onUnhandledFrame" option.`,
|
|
90
90
|
)
|
|
91
91
|
|
|
92
92
|
expect.soft(console.error).toHaveBeenCalledOnce()
|
|
@@ -101,7 +101,7 @@ Read more: https://mswjs.io/docs/http/intercepting-requests`,
|
|
|
101
101
|
expect(console.warn).not.toHaveBeenCalled()
|
|
102
102
|
})
|
|
103
103
|
|
|
104
|
-
|
|
104
|
+
test('invokes the custom callback for the HTTP frame', async () => {
|
|
105
105
|
const callback = vi.fn()
|
|
106
106
|
const frame = new TestHttpFrame(new Request('http://localhost/test'))
|
|
107
107
|
|
|
@@ -119,7 +119,7 @@ it('invokes the custom callback for the HTTP frame', async () => {
|
|
|
119
119
|
})
|
|
120
120
|
})
|
|
121
121
|
|
|
122
|
-
|
|
122
|
+
test('does not print anything for common asset HTTP requests', async () => {
|
|
123
123
|
await expect(
|
|
124
124
|
executeUnhandledFrameHandle(
|
|
125
125
|
new TestHttpFrame(new Request('http://localhost/image.png')),
|
|
@@ -141,7 +141,7 @@ it('does not print anything for common asset HTTP requests', async () => {
|
|
|
141
141
|
expect(console.error).not.toHaveBeenCalled()
|
|
142
142
|
})
|
|
143
143
|
|
|
144
|
-
|
|
144
|
+
test('delegates common asset HTTP requests handling to the custom callback', async () => {
|
|
145
145
|
const callback = vi.fn()
|
|
146
146
|
const frame = new TestHttpFrame(new Request('http://localhost/image.png'))
|
|
147
147
|
|
|
@@ -159,7 +159,7 @@ it('delegates common asset HTTP requests handling to the custom callback', async
|
|
|
159
159
|
})
|
|
160
160
|
})
|
|
161
161
|
|
|
162
|
-
|
|
162
|
+
test('supports printing the default warning in the custom callback for the HTTP frame', async () => {
|
|
163
163
|
const callback = vi.fn<UnhandledFrameCallback>(({ defaults }) => {
|
|
164
164
|
defaults.warn()
|
|
165
165
|
})
|
|
@@ -189,7 +189,7 @@ Read more: https://mswjs.io/docs/http/intercepting-requests`,
|
|
|
189
189
|
expect(console.error).not.toHaveBeenCalled()
|
|
190
190
|
})
|
|
191
191
|
|
|
192
|
-
|
|
192
|
+
test('supports printing the default error in the custom callback for the HTTP frame', async () => {
|
|
193
193
|
const callback = vi.fn<UnhandledFrameCallback>(({ defaults }) => {
|
|
194
194
|
defaults.error()
|
|
195
195
|
})
|
|
@@ -219,7 +219,7 @@ Read more: https://mswjs.io/docs/http/intercepting-requests`,
|
|
|
219
219
|
expect(console.warn).not.toHaveBeenCalled()
|
|
220
220
|
})
|
|
221
221
|
|
|
222
|
-
|
|
222
|
+
test('throws if given an unknown strategy for the HTTP frame', async () => {
|
|
223
223
|
await expect(
|
|
224
224
|
executeUnhandledFrameHandle(
|
|
225
225
|
new TestHttpFrame(new Request('http://localhost/test')),
|
|
@@ -227,11 +227,11 @@ it('throws if given an unknown strategy for the HTTP frame', async () => {
|
|
|
227
227
|
'intentionally-invalid',
|
|
228
228
|
),
|
|
229
229
|
).rejects.toThrow(
|
|
230
|
-
`[MSW] Failed to react to an unhandled network frame: unknown strategy "intentionally-invalid". Please provide one of the supported strategies ("bypass", "warn", "error") or a custom callback function as the value of the "
|
|
230
|
+
`[MSW] Failed to react to an unhandled network frame: unknown strategy "intentionally-invalid". Please provide one of the supported strategies ("bypass", "warn", "error") or a custom callback function as the value of the "onUnhandledFrame" option.`,
|
|
231
231
|
)
|
|
232
232
|
})
|
|
233
233
|
|
|
234
|
-
|
|
234
|
+
test('prints a warning for the WebSocket frame using the "warn" strategy', async () => {
|
|
235
235
|
await expect(
|
|
236
236
|
executeUnhandledFrameHandle(new TestWebSocketFrame(), 'warn'),
|
|
237
237
|
).resolves.toBeUndefined()
|
|
@@ -248,11 +248,11 @@ Read more: https://mswjs.io/docs/websocket`,
|
|
|
248
248
|
expect(console.error).not.toHaveBeenCalled()
|
|
249
249
|
})
|
|
250
250
|
|
|
251
|
-
|
|
251
|
+
test('rejects and prints an error for the WebSocket frame using the "error" strategy', async () => {
|
|
252
252
|
await expect(
|
|
253
253
|
executeUnhandledFrameHandle(new TestWebSocketFrame(), 'error'),
|
|
254
254
|
).rejects.toThrow(
|
|
255
|
-
`[MSW] Cannot bypass a request when using the "error" strategy for the "
|
|
255
|
+
`[MSW] Cannot bypass a request when using the "error" strategy for the "onUnhandledFrame" option.`,
|
|
256
256
|
)
|
|
257
257
|
|
|
258
258
|
expect.soft(console.error).toHaveBeenCalledOnce()
|
|
@@ -267,7 +267,7 @@ Read more: https://mswjs.io/docs/websocket`,
|
|
|
267
267
|
expect(console.warn).not.toHaveBeenCalled()
|
|
268
268
|
})
|
|
269
269
|
|
|
270
|
-
|
|
270
|
+
test('invokes the custom callback for the WebSocket frame', async () => {
|
|
271
271
|
const callback = vi.fn()
|
|
272
272
|
const frame = new TestWebSocketFrame()
|
|
273
273
|
|
|
@@ -285,7 +285,7 @@ it('invokes the custom callback for the WebSocket frame', async () => {
|
|
|
285
285
|
})
|
|
286
286
|
})
|
|
287
287
|
|
|
288
|
-
|
|
288
|
+
test('throws if given an unknown strategy for the WebSocket frame', async () => {
|
|
289
289
|
await expect(
|
|
290
290
|
executeUnhandledFrameHandle(
|
|
291
291
|
new TestWebSocketFrame(),
|
|
@@ -293,11 +293,11 @@ it('throws if given an unknown strategy for the WebSocket frame', async () => {
|
|
|
293
293
|
'intentionally-invalid',
|
|
294
294
|
),
|
|
295
295
|
).rejects.toThrow(
|
|
296
|
-
`[MSW] Failed to react to an unhandled network frame: unknown strategy "intentionally-invalid". Please provide one of the supported strategies ("bypass", "warn", "error") or a custom callback function as the value of the "
|
|
296
|
+
`[MSW] Failed to react to an unhandled network frame: unknown strategy "intentionally-invalid". Please provide one of the supported strategies ("bypass", "warn", "error") or a custom callback function as the value of the "onUnhandledFrame" option.`,
|
|
297
297
|
)
|
|
298
298
|
})
|
|
299
299
|
|
|
300
|
-
|
|
300
|
+
test('supports printing the default warning in the custom callback for the HTTP frame', async () => {
|
|
301
301
|
const callback = vi.fn<UnhandledFrameCallback>(({ defaults }) => {
|
|
302
302
|
defaults.warn()
|
|
303
303
|
})
|
|
@@ -327,7 +327,7 @@ Read more: https://mswjs.io/docs/websocket`,
|
|
|
327
327
|
expect(console.error).not.toHaveBeenCalled()
|
|
328
328
|
})
|
|
329
329
|
|
|
330
|
-
|
|
330
|
+
test('supports printing the default error in the custom callback for the HTTP frame', async () => {
|
|
331
331
|
const callback = vi.fn<UnhandledFrameCallback>(({ defaults }) => {
|
|
332
332
|
defaults.error()
|
|
333
333
|
})
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { invariant } from 'outvariant'
|
|
2
|
-
import { isCommonAssetRequest } from '
|
|
3
|
-
import { devUtils, InternalError } from '../utils/internal/
|
|
2
|
+
import { isCommonAssetRequest } from '#utils/is-common-asset-request'
|
|
3
|
+
import { devUtils, InternalError } from '../utils/internal/dev-utils'
|
|
4
4
|
import { HttpNetworkFrame } from './frames/http-frame'
|
|
5
|
-
import {
|
|
5
|
+
import type { AnyNetworkFrame } from './frames/network-frame'
|
|
6
6
|
|
|
7
7
|
export type UnhandledFrameHandle =
|
|
8
|
-
|
|
|
9
|
-
| UnhandledFrameCallback
|
|
8
|
+
UnhandledFrameStrategy | UnhandledFrameCallback
|
|
10
9
|
|
|
11
10
|
export type UnhandledFrameStrategy = 'bypass' | 'warn' | 'error'
|
|
12
11
|
|
|
@@ -15,7 +14,7 @@ export type UnhandledFrameCallback = (args: {
|
|
|
15
14
|
defaults: UnhandledFrameDefaults
|
|
16
15
|
}) => Promise<void> | void
|
|
17
16
|
|
|
18
|
-
|
|
17
|
+
type UnhandledFrameDefaults = {
|
|
19
18
|
warn: () => void
|
|
20
19
|
error: () => void
|
|
21
20
|
}
|
|
@@ -50,12 +49,8 @@ export async function executeUnhandledFrameHandle(
|
|
|
50
49
|
invariant.as(
|
|
51
50
|
InternalError,
|
|
52
51
|
strategy === 'bypass' || strategy === 'warn' || strategy === 'error',
|
|
53
|
-
/**
|
|
54
|
-
* @fixme Rename "onUnhandledRequest" to "onUnhandledFrame" in the error message
|
|
55
|
-
* with the next major release.
|
|
56
|
-
*/
|
|
57
52
|
devUtils.formatMessage(
|
|
58
|
-
'Failed to react to an unhandled network frame: unknown strategy "%s". Please provide one of the supported strategies ("bypass", "warn", "error") or a custom callback function as the value of the "
|
|
53
|
+
'Failed to react to an unhandled network frame: unknown strategy "%s". Please provide one of the supported strategies ("bypass", "warn", "error") or a custom callback function as the value of the "onUnhandledFrame" option.',
|
|
59
54
|
strategy,
|
|
60
55
|
),
|
|
61
56
|
)
|
|
@@ -70,7 +65,7 @@ export async function executeUnhandledFrameHandle(
|
|
|
70
65
|
return Promise.reject(
|
|
71
66
|
new InternalError(
|
|
72
67
|
devUtils.formatMessage(
|
|
73
|
-
'Cannot bypass a request when using the "error" strategy for the "
|
|
68
|
+
'Cannot bypass a request when using the "error" strategy for the "onUnhandledFrame" option.',
|
|
74
69
|
),
|
|
75
70
|
),
|
|
76
71
|
)
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
deleteRequestPassthroughHeader,
|
|
3
|
-
isPassthroughResponse,
|
|
4
|
-
REQUEST_INTENTION_HEADER_NAME,
|
|
5
|
-
RequestIntention,
|
|
6
3
|
shouldBypassRequest,
|
|
7
4
|
} from './request-utils'
|
|
8
5
|
|
|
9
6
|
describe(shouldBypassRequest, () => {
|
|
10
|
-
|
|
7
|
+
test('returns true for a request with bypass header', () => {
|
|
11
8
|
expect(
|
|
12
9
|
shouldBypassRequest(
|
|
13
10
|
new Request('http://example.com', {
|
|
@@ -19,35 +16,13 @@ describe(shouldBypassRequest, () => {
|
|
|
19
16
|
).toBe(true)
|
|
20
17
|
})
|
|
21
18
|
|
|
22
|
-
|
|
19
|
+
test('returns false for a regular request', () => {
|
|
23
20
|
expect(shouldBypassRequest(new Request('http://example.com'))).toBe(false)
|
|
24
21
|
})
|
|
25
22
|
})
|
|
26
23
|
|
|
27
|
-
describe(isPassthroughResponse, () => {
|
|
28
|
-
it('returns true for a passthrough response', () => {
|
|
29
|
-
expect(
|
|
30
|
-
isPassthroughResponse(
|
|
31
|
-
new Response(null, {
|
|
32
|
-
status: 302,
|
|
33
|
-
headers: {
|
|
34
|
-
[REQUEST_INTENTION_HEADER_NAME]: RequestIntention.passthrough,
|
|
35
|
-
},
|
|
36
|
-
}),
|
|
37
|
-
),
|
|
38
|
-
).toBe(true)
|
|
39
|
-
})
|
|
40
|
-
|
|
41
|
-
it('returns false for a regular response', () => {
|
|
42
|
-
expect(isPassthroughResponse(new Response(null))).toBe(false)
|
|
43
|
-
expect(isPassthroughResponse(new Response(null, { status: 302 }))).toBe(
|
|
44
|
-
false,
|
|
45
|
-
)
|
|
46
|
-
})
|
|
47
|
-
})
|
|
48
|
-
|
|
49
24
|
describe(deleteRequestPassthroughHeader, () => {
|
|
50
|
-
|
|
25
|
+
test('removes the bypass header from the request', () => {
|
|
51
26
|
const request = new Request('http://example.com', {
|
|
52
27
|
headers: {
|
|
53
28
|
accept: 'msw/passthrough',
|
|
@@ -57,7 +32,7 @@ describe(deleteRequestPassthroughHeader, () => {
|
|
|
57
32
|
expect(request.headers.get('accept')).toBeNull()
|
|
58
33
|
})
|
|
59
34
|
|
|
60
|
-
|
|
35
|
+
test('does not remove other headers', () => {
|
|
61
36
|
const request = new Request('http://example.com', {
|
|
62
37
|
headers: {
|
|
63
38
|
accept: 'msw/passthrough',
|
|
@@ -1,21 +1,7 @@
|
|
|
1
|
-
export const REQUEST_INTENTION_HEADER_NAME = 'x-msw-intention'
|
|
2
|
-
|
|
3
|
-
export enum RequestIntention {
|
|
4
|
-
passthrough = 'passthrough',
|
|
5
|
-
}
|
|
6
|
-
|
|
7
1
|
export function shouldBypassRequest(request: Request): boolean {
|
|
8
2
|
return !!request.headers.get('accept')?.includes('msw/passthrough')
|
|
9
3
|
}
|
|
10
4
|
|
|
11
|
-
export function isPassthroughResponse(response: Response): boolean {
|
|
12
|
-
return (
|
|
13
|
-
response.status === 302 &&
|
|
14
|
-
response.headers.get(REQUEST_INTENTION_HEADER_NAME) ===
|
|
15
|
-
RequestIntention.passthrough
|
|
16
|
-
)
|
|
17
|
-
}
|
|
18
|
-
|
|
19
5
|
/**
|
|
20
6
|
* Remove the internal passthrough instruction from the request's `Accept` header.
|
|
21
7
|
*/
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import type { Interceptor, RequestController } from '@mswjs/interceptors'
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
BatchInterceptor,
|
|
4
|
+
type HttpRequestEventMap,
|
|
5
|
+
type HttpRequestEvent,
|
|
6
|
+
type HttpResponseEvent,
|
|
7
|
+
} from '@mswjs/interceptors'
|
|
3
8
|
import type {
|
|
4
|
-
|
|
9
|
+
WebSocketClientConnection,
|
|
10
|
+
WebSocketInterceptedConnection,
|
|
5
11
|
WebSocketEventMap,
|
|
6
12
|
} from '@mswjs/interceptors/WebSocket'
|
|
7
13
|
import { NetworkSource } from './network-source'
|
|
8
|
-
import { InternalError } from '../../utils/internal/
|
|
14
|
+
import { InternalError } from '../../utils/internal/dev-utils'
|
|
9
15
|
import { HttpNetworkFrame, ResponseEvent } from '../frames/http-frame'
|
|
10
16
|
import { WebSocketNetworkFrame } from '../frames/websocket-frame'
|
|
11
17
|
import { deleteRequestPassthroughHeader } from '../request-utils'
|
|
@@ -20,10 +26,19 @@ export interface InterceptorSourceOptions {
|
|
|
20
26
|
export class InterceptorSource extends NetworkSource {
|
|
21
27
|
#interceptor: BatchInterceptor<
|
|
22
28
|
InterceptorSourceOptions['interceptors'],
|
|
23
|
-
HttpRequestEventMap
|
|
29
|
+
HttpRequestEventMap & WebSocketEventMap
|
|
24
30
|
>
|
|
25
31
|
|
|
26
|
-
|
|
32
|
+
/**
|
|
33
|
+
* @note Frames are keyed by the request instance, not the request ID.
|
|
34
|
+
* The interceptor emits the same request instance on the "request"
|
|
35
|
+
* and "response" events, so the frame can be looked up by identity.
|
|
36
|
+
* A weak reference lets the frame be garbage collected alongside
|
|
37
|
+
* its request once the request settles without producing a response
|
|
38
|
+
* (e.g. a passthrough request failing with a network error).
|
|
39
|
+
* @see https://github.com/mswjs/msw/issues/2792
|
|
40
|
+
*/
|
|
41
|
+
#frames: WeakMap<Request, HttpNetworkFrame>
|
|
27
42
|
|
|
28
43
|
constructor(options: InterceptorSourceOptions) {
|
|
29
44
|
super()
|
|
@@ -32,19 +47,16 @@ export class InterceptorSource extends NetworkSource {
|
|
|
32
47
|
name: 'interceptor-source',
|
|
33
48
|
interceptors: options.interceptors,
|
|
34
49
|
})
|
|
35
|
-
this.#frames = new
|
|
50
|
+
this.#frames = new WeakMap()
|
|
36
51
|
}
|
|
37
52
|
|
|
38
53
|
public enable(): void {
|
|
39
54
|
this.#interceptor.apply()
|
|
40
55
|
|
|
41
|
-
/**
|
|
42
|
-
* @todo @fixme BatchInterceptor infers event types but not listener types.
|
|
43
|
-
*/
|
|
44
56
|
this.#interceptor
|
|
45
|
-
.on('request', this.#handleRequest.bind(this)
|
|
46
|
-
.on('response', this.#handleResponse.bind(this)
|
|
47
|
-
.on('connection', this.#handleWebSocketConnection.bind(this)
|
|
57
|
+
.on('request', this.#handleRequest.bind(this))
|
|
58
|
+
.on('response', this.#handleResponse.bind(this))
|
|
59
|
+
.on('connection', this.#handleWebSocketConnection.bind(this))
|
|
48
60
|
}
|
|
49
61
|
|
|
50
62
|
public disable(): void {
|
|
@@ -55,21 +67,18 @@ export class InterceptorSource extends NetworkSource {
|
|
|
55
67
|
* @todo We can also abort any pending frames here, given we implement
|
|
56
68
|
* the `NetworkFrame.abort()` method.
|
|
57
69
|
*/
|
|
58
|
-
this.#frames
|
|
70
|
+
this.#frames = new WeakMap()
|
|
59
71
|
}
|
|
60
72
|
|
|
61
|
-
async #handleRequest({
|
|
62
|
-
requestId,
|
|
63
|
-
request,
|
|
64
|
-
controller,
|
|
65
|
-
}: HttpRequestEventMap['request'][0]): Promise<void> {
|
|
73
|
+
async #handleRequest(event: HttpRequestEvent): Promise<void> {
|
|
74
|
+
const { requestId, request, controller } = event
|
|
66
75
|
const httpFrame = new InterceptorHttpNetworkFrame({
|
|
67
76
|
id: requestId,
|
|
68
77
|
request,
|
|
69
78
|
controller,
|
|
70
79
|
})
|
|
71
80
|
|
|
72
|
-
this.#frames.set(
|
|
81
|
+
this.#frames.set(request, httpFrame)
|
|
73
82
|
await this.queue(httpFrame)
|
|
74
83
|
}
|
|
75
84
|
|
|
@@ -77,10 +86,10 @@ export class InterceptorSource extends NetworkSource {
|
|
|
77
86
|
requestId,
|
|
78
87
|
request,
|
|
79
88
|
response,
|
|
80
|
-
|
|
81
|
-
}:
|
|
82
|
-
const httpFrame = this.#frames.get(
|
|
83
|
-
this.#frames.delete(
|
|
89
|
+
responseType,
|
|
90
|
+
}: HttpResponseEvent): Promise<void> {
|
|
91
|
+
const httpFrame = this.#frames.get(request)
|
|
92
|
+
this.#frames.delete(request)
|
|
84
93
|
|
|
85
94
|
if (httpFrame == null) {
|
|
86
95
|
return
|
|
@@ -90,7 +99,7 @@ export class InterceptorSource extends NetworkSource {
|
|
|
90
99
|
try {
|
|
91
100
|
httpFrame.events.emit(
|
|
92
101
|
new ResponseEvent(
|
|
93
|
-
|
|
102
|
+
responseType === 'mock' ? 'response:mocked' : 'response:bypass',
|
|
94
103
|
{
|
|
95
104
|
requestId,
|
|
96
105
|
request,
|
|
@@ -111,7 +120,7 @@ export class InterceptorSource extends NetworkSource {
|
|
|
111
120
|
}
|
|
112
121
|
|
|
113
122
|
async #handleWebSocketConnection(
|
|
114
|
-
connection: WebSocketEventMap['connection']
|
|
123
|
+
connection: WebSocketEventMap['connection'],
|
|
115
124
|
): Promise<void> {
|
|
116
125
|
await this.queue(
|
|
117
126
|
new InterceptorWebSocketNetworkFrame({
|
|
@@ -161,9 +170,17 @@ class InterceptorHttpNetworkFrame extends HttpNetworkFrame {
|
|
|
161
170
|
}
|
|
162
171
|
|
|
163
172
|
class InterceptorWebSocketNetworkFrame extends WebSocketNetworkFrame {
|
|
164
|
-
|
|
173
|
+
/**
|
|
174
|
+
* The in-process client connection, whose socket
|
|
175
|
+
* the frame dispatches errors on.
|
|
176
|
+
*/
|
|
177
|
+
readonly #client: WebSocketClientConnection
|
|
178
|
+
|
|
179
|
+
constructor(args: { connection: WebSocketInterceptedConnection }) {
|
|
165
180
|
super({ connection: args.connection })
|
|
166
181
|
|
|
182
|
+
this.#client = args.connection.client
|
|
183
|
+
|
|
167
184
|
/**
|
|
168
185
|
* @note Provide a similar frame listener cleanup as for HTTP.
|
|
169
186
|
* When the client connection closes, the handler can no longer be used.
|
|
@@ -181,8 +198,6 @@ class InterceptorWebSocketNetworkFrame extends WebSocketNetworkFrame {
|
|
|
181
198
|
|
|
182
199
|
public errorWith(reason?: unknown): void {
|
|
183
200
|
if (reason instanceof Error) {
|
|
184
|
-
const { client } = this.data.connection
|
|
185
|
-
|
|
186
201
|
/**
|
|
187
202
|
* Use `client.errorWith(reason)` in the future.
|
|
188
203
|
* @see https://github.com/mswjs/interceptors/issues/747
|
|
@@ -195,7 +210,7 @@ class InterceptorWebSocketNetworkFrame extends WebSocketNetworkFrame {
|
|
|
195
210
|
value: reason,
|
|
196
211
|
})
|
|
197
212
|
|
|
198
|
-
client.socket.dispatchEvent(errorEvent)
|
|
213
|
+
this.#client.socket.dispatchEvent(errorEvent)
|
|
199
214
|
}
|
|
200
215
|
}
|
|
201
216
|
|
|
@@ -17,7 +17,7 @@ afterEach(() => {
|
|
|
17
17
|
vi.clearAllMocks()
|
|
18
18
|
})
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
test('emits the "frame" event when a frame is queued', async () => {
|
|
21
21
|
class CustomNetworkSource extends NetworkSource {
|
|
22
22
|
enable = async () => {}
|
|
23
23
|
}
|
|
@@ -34,7 +34,7 @@ it('emits the "frame" event when a frame is queued', async () => {
|
|
|
34
34
|
)
|
|
35
35
|
})
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
test('removes all listeners when "disable" is called', async () => {
|
|
38
38
|
class CustomNetworkSource extends NetworkSource {
|
|
39
39
|
enable = async () => {}
|
|
40
40
|
}
|
|
@@ -49,7 +49,7 @@ it('removes all listeners when "disable" is called', async () => {
|
|
|
49
49
|
expect.soft(frameListener).not.toHaveBeenCalled()
|
|
50
50
|
})
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
test('accepts AbortSignal when attaching event listeners', async () => {
|
|
53
53
|
class CustomNetworkSource extends NetworkSource {
|
|
54
54
|
enable = async () => {}
|
|
55
55
|
}
|