@depup/msw 2.15.0-depup.9 → 3.0.1-depup.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 +5 -11
- package/changes.json +4 -28
- 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 +356 -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 +187 -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 +770 -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 +35884 -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 +99 -230
- 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 +64 -13
- package/src/core/experimental/frames/http-frame.ts +29 -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} +41 -23
- package/src/{core/handlers/HttpHandler.ts → http/http-handler.ts} +29 -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 +936 -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,8 +1,9 @@
|
|
|
1
|
+
import { HttpHandler, HttpMethods } from '#http/http-handler'
|
|
1
2
|
import { NetworkSource } from './sources/network-source'
|
|
2
3
|
import { defineNetwork } from './define-network'
|
|
3
4
|
|
|
4
5
|
describe('enable()', () => {
|
|
5
|
-
|
|
6
|
+
test('throws if called on already enabled network', () => {
|
|
6
7
|
class SyncNetworkSource extends NetworkSource {
|
|
7
8
|
enable = () => {}
|
|
8
9
|
}
|
|
@@ -19,7 +20,7 @@ describe('enable()', () => {
|
|
|
19
20
|
expect(network.enable()).toBeUndefined()
|
|
20
21
|
})
|
|
21
22
|
|
|
22
|
-
|
|
23
|
+
test('returns a sync enable if all the sources are sync', () => {
|
|
23
24
|
class SyncNetworkSource extends NetworkSource {
|
|
24
25
|
enable = () => {}
|
|
25
26
|
}
|
|
@@ -30,7 +31,7 @@ describe('enable()', () => {
|
|
|
30
31
|
expect(network.enable()).toBeUndefined()
|
|
31
32
|
})
|
|
32
33
|
|
|
33
|
-
|
|
34
|
+
test('returns an async enable if any of the sources are async', () => {
|
|
34
35
|
class SyncNetworkSource extends NetworkSource {
|
|
35
36
|
enable = () => {}
|
|
36
37
|
}
|
|
@@ -45,7 +46,7 @@ describe('enable()', () => {
|
|
|
45
46
|
expect(network.enable()).toBeInstanceOf(Promise)
|
|
46
47
|
})
|
|
47
48
|
|
|
48
|
-
|
|
49
|
+
test('returns an async enable if all the sources are async', () => {
|
|
49
50
|
class AsyncNetworkSource extends NetworkSource {
|
|
50
51
|
enable = async () => {}
|
|
51
52
|
}
|
|
@@ -59,7 +60,7 @@ describe('enable()', () => {
|
|
|
59
60
|
})
|
|
60
61
|
|
|
61
62
|
describe('disable()', () => {
|
|
62
|
-
|
|
63
|
+
test('throws if called on already enabled network', () => {
|
|
63
64
|
class SyncNetworkSource extends NetworkSource {
|
|
64
65
|
enable = () => {}
|
|
65
66
|
}
|
|
@@ -77,7 +78,7 @@ describe('disable()', () => {
|
|
|
77
78
|
expect(network.disable()).toBeUndefined()
|
|
78
79
|
})
|
|
79
80
|
|
|
80
|
-
|
|
81
|
+
test('returns a sync disable if all the sources are sync', () => {
|
|
81
82
|
class SyncNetworkSource extends NetworkSource {
|
|
82
83
|
enable = () => {}
|
|
83
84
|
disable = () => {}
|
|
@@ -90,7 +91,7 @@ describe('disable()', () => {
|
|
|
90
91
|
expect(network.disable()).toBeUndefined()
|
|
91
92
|
})
|
|
92
93
|
|
|
93
|
-
|
|
94
|
+
test('returns an async disable if any of the sources are async', async () => {
|
|
94
95
|
class SyncNetworkSource extends NetworkSource {
|
|
95
96
|
enable = () => {}
|
|
96
97
|
disable = () => {}
|
|
@@ -108,7 +109,7 @@ describe('disable()', () => {
|
|
|
108
109
|
expect(network.disable()).toBeInstanceOf(Promise)
|
|
109
110
|
})
|
|
110
111
|
|
|
111
|
-
|
|
112
|
+
test('returns an async disable if all the sources are async', async () => {
|
|
112
113
|
class AsyncNetworkSource extends NetworkSource {
|
|
113
114
|
enable = async () => {}
|
|
114
115
|
disable = async () => {}
|
|
@@ -121,4 +122,38 @@ describe('disable()', () => {
|
|
|
121
122
|
await network.enable()
|
|
122
123
|
expect(network.disable()).toBeInstanceOf(Promise)
|
|
123
124
|
})
|
|
125
|
+
|
|
126
|
+
test('observes both the handler and the source disposal rejections', async () => {
|
|
127
|
+
const unhandledRejectionListener = vi.fn()
|
|
128
|
+
process.on('unhandledRejection', unhandledRejectionListener)
|
|
129
|
+
|
|
130
|
+
try {
|
|
131
|
+
class RejectingNetworkSource extends NetworkSource {
|
|
132
|
+
enable = () => {}
|
|
133
|
+
disable = () => Promise.reject(new Error('Source disposal error'))
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
const handler = new HttpHandler(HttpMethods.GET, '/resource', () => {})
|
|
137
|
+
handler.dispose = () =>
|
|
138
|
+
Promise.reject(new Error('Handler disposal error'))
|
|
139
|
+
|
|
140
|
+
const network = defineNetwork({
|
|
141
|
+
sources: [new RejectingNetworkSource()],
|
|
142
|
+
handlers: [handler],
|
|
143
|
+
})
|
|
144
|
+
|
|
145
|
+
network.enable()
|
|
146
|
+
|
|
147
|
+
await expect(network.disable()).rejects.toThrow()
|
|
148
|
+
|
|
149
|
+
// Give an unobserved rejection a chance to surface.
|
|
150
|
+
await new Promise((resolve) => setTimeout(resolve, 100))
|
|
151
|
+
|
|
152
|
+
expect(unhandledRejectionListener).not.toHaveBeenCalled()
|
|
153
|
+
} finally {
|
|
154
|
+
// Detach the listener whether the assertions above pass or not,
|
|
155
|
+
// so a failure here cannot leak it into the rest of the run.
|
|
156
|
+
process.off('unhandledRejection', unhandledRejectionListener)
|
|
157
|
+
}
|
|
158
|
+
})
|
|
124
159
|
})
|
|
@@ -4,21 +4,16 @@ import {
|
|
|
4
4
|
NetworkSource,
|
|
5
5
|
type ExtractSourceEvents,
|
|
6
6
|
} from './sources/network-source'
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import type { NetworkFrameResolutionContext } from './frames/network-frame'
|
|
8
|
+
import type { UnhandledFrameHandle } from './on-unhandled-frame'
|
|
9
9
|
import {
|
|
10
10
|
HandlersController,
|
|
11
11
|
InMemoryHandlersController,
|
|
12
12
|
type AnyHandler,
|
|
13
13
|
} from './handlers-controller'
|
|
14
|
-
import { toReadonlyArray } from '../utils/internal/
|
|
15
|
-
import { Disposable } from '../utils/internal/
|
|
16
|
-
|
|
17
|
-
type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (
|
|
18
|
-
k: infer I,
|
|
19
|
-
) => void
|
|
20
|
-
? I
|
|
21
|
-
: never
|
|
14
|
+
import { toReadonlyArray } from '../utils/internal/to-readonly-array'
|
|
15
|
+
import { Disposable } from '../utils/internal/disposable'
|
|
16
|
+
import type { UnionToIntersection } from '../type-utils'
|
|
22
17
|
|
|
23
18
|
type MergeEventMaps<Sources extends Array<NetworkSource<any>>> =
|
|
24
19
|
UnionToIntersection<ExtractSourceEvents<Sources[number]>> extends infer R
|
|
@@ -69,7 +64,7 @@ export interface NetworkApi<
|
|
|
69
64
|
events: Emitter<MergeEventMaps<Sources>>
|
|
70
65
|
}
|
|
71
66
|
|
|
72
|
-
|
|
67
|
+
interface NetworkHandlersApi {
|
|
73
68
|
use: (...handlers: Array<AnyHandler>) => void
|
|
74
69
|
resetHandlers: (...handlers: Array<AnyHandler>) => void
|
|
75
70
|
restoreHandlers: () => void
|
|
@@ -222,10 +217,34 @@ export function defineNetwork<Sources extends Array<NetworkSource<any>>>(
|
|
|
222
217
|
)
|
|
223
218
|
|
|
224
219
|
readyState = NetworkReadyState.DISABLED
|
|
220
|
+
|
|
221
|
+
// Let the handlers release the resources they hold before
|
|
222
|
+
// tearing down the network itself. Handlers may still need the
|
|
223
|
+
// network while disposing of themselves (e.g. to close the
|
|
224
|
+
// connections they own).
|
|
225
|
+
const handlersDisposal = handlersController.dispose()
|
|
225
226
|
disposable.dispose()
|
|
226
227
|
|
|
227
|
-
|
|
228
|
+
/**
|
|
229
|
+
* @note Tear down the sources synchronously, never behind the
|
|
230
|
+
* handlers disposal. `disable()` is not always awaited (e.g.
|
|
231
|
+
* `server.close()` is synchronous), and a deferred teardown would
|
|
232
|
+
* race any `enable()` that follows, disabling the sources that the
|
|
233
|
+
* new session has just enabled.
|
|
234
|
+
*/
|
|
235
|
+
const sourcesDisposal = colorlessPromiseAll(
|
|
228
236
|
resolvedOptions.sources.map((source) => source.disable()),
|
|
237
|
+
)
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* @note Await both disposals so neither rejection goes unobserved.
|
|
241
|
+
* Chaining them would leave the source disposal floating whenever
|
|
242
|
+
* the handlers disposal rejects.
|
|
243
|
+
*/
|
|
244
|
+
return (
|
|
245
|
+
handlersDisposal instanceof Promise
|
|
246
|
+
? Promise.all([handlersDisposal, sourcesDisposal]).then(() => {})
|
|
247
|
+
: sourcesDisposal
|
|
229
248
|
) as MaybePromise<ReturnType<Sources[number]['disable']>>
|
|
230
249
|
},
|
|
231
250
|
use(...handlers) {
|
|
@@ -238,7 +257,7 @@ export function defineNetwork<Sources extends Array<NetworkSource<any>>>(
|
|
|
238
257
|
handlersController.restore()
|
|
239
258
|
},
|
|
240
259
|
listHandlers() {
|
|
241
|
-
return toReadonlyArray(handlersController.
|
|
260
|
+
return toReadonlyArray(handlersController.listHandlers())
|
|
242
261
|
},
|
|
243
262
|
}
|
|
244
263
|
}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { FetchRequest } from '@mswjs/interceptors'
|
|
2
|
+
import { http } from '#http/http'
|
|
3
|
+
import { graphql } from '../../../graphql'
|
|
4
|
+
import { ws } from '../../../ws'
|
|
5
|
+
import { bypass } from '#utils/bypass'
|
|
5
6
|
import type { HttpNetworkFrameEventMap } from './http-frame'
|
|
6
7
|
import { HttpNetworkFrame } from './http-frame'
|
|
7
8
|
import { InMemoryHandlersController } from '../../experimental/handlers-controller'
|
|
8
|
-
import { getSiblingHandlers } from '../../utils/internal/
|
|
9
|
+
import { getSiblingHandlers } from '../../utils/internal/attach-sibling-handlers'
|
|
10
|
+
|
|
11
|
+
const gql = graphql.link('*')
|
|
9
12
|
|
|
10
13
|
beforeAll(() => {
|
|
11
14
|
vi.spyOn(console, 'error').mockImplementation(() => {})
|
|
@@ -31,7 +34,7 @@ function spyOnNetworkFrame(frame: HttpNetworkFrame) {
|
|
|
31
34
|
}
|
|
32
35
|
}
|
|
33
36
|
|
|
34
|
-
|
|
37
|
+
test('filters only request type handlers', async () => {
|
|
35
38
|
class HttpFrame extends HttpNetworkFrame {
|
|
36
39
|
respondWith = vi.fn()
|
|
37
40
|
passthrough = vi.fn()
|
|
@@ -43,7 +46,7 @@ it('filters only request type handlers', async () => {
|
|
|
43
46
|
})
|
|
44
47
|
|
|
45
48
|
const httpHandlers = [http.post('http://localhost/api/user', () => {})]
|
|
46
|
-
const graphqlHandlers = [
|
|
49
|
+
const graphqlHandlers = [gql.query('GetUser', () => {})]
|
|
47
50
|
const webSocketHandlers = [
|
|
48
51
|
ws.link('ws://localhost').addEventListener('connection', () => {}),
|
|
49
52
|
]
|
|
@@ -65,7 +68,7 @@ it('filters only request type handlers', async () => {
|
|
|
65
68
|
expect(frame.getHandlers(new InMemoryHandlersController([]))).toEqual([])
|
|
66
69
|
})
|
|
67
70
|
|
|
68
|
-
|
|
71
|
+
test('resolves a matching request', async () => {
|
|
69
72
|
class HttpFrame extends HttpNetworkFrame {
|
|
70
73
|
respondWith = vi.fn()
|
|
71
74
|
passthrough = vi.fn()
|
|
@@ -116,7 +119,7 @@ it('resolves a matching request', async () => {
|
|
|
116
119
|
])
|
|
117
120
|
})
|
|
118
121
|
|
|
119
|
-
|
|
122
|
+
test('resolves a non-matching request', async () => {
|
|
120
123
|
class HttpFrame extends HttpNetworkFrame {
|
|
121
124
|
respondWith = vi.fn()
|
|
122
125
|
passthrough = vi.fn()
|
|
@@ -167,7 +170,55 @@ it('resolves a non-matching request', async () => {
|
|
|
167
170
|
])
|
|
168
171
|
})
|
|
169
172
|
|
|
170
|
-
|
|
173
|
+
/**
|
|
174
|
+
* @todo Revisit the `http.all()` handler below once `http.connect()`
|
|
175
|
+
* is supported: a matching CONNECT handler must take precedence.
|
|
176
|
+
*/
|
|
177
|
+
test('passes through an unhandled CONNECT request without applying the unhandled frame strategy', async () => {
|
|
178
|
+
class HttpFrame extends HttpNetworkFrame {
|
|
179
|
+
respondWith = vi.fn()
|
|
180
|
+
passthrough = vi.fn()
|
|
181
|
+
errorWith = vi.fn()
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
const frame = new HttpFrame({
|
|
185
|
+
request: new FetchRequest('http://localhost/127.0.0.1:443', {
|
|
186
|
+
method: 'CONNECT',
|
|
187
|
+
}),
|
|
188
|
+
})
|
|
189
|
+
const { events } = spyOnNetworkFrame(frame)
|
|
190
|
+
const unhandledFrameCallback = vi.fn()
|
|
191
|
+
|
|
192
|
+
const matches = await frame.resolve(
|
|
193
|
+
[
|
|
194
|
+
http.all('*', () => {
|
|
195
|
+
return new Response(null, { status: 204 })
|
|
196
|
+
}),
|
|
197
|
+
],
|
|
198
|
+
unhandledFrameCallback,
|
|
199
|
+
{ quiet: true },
|
|
200
|
+
)
|
|
201
|
+
|
|
202
|
+
expect.soft(matches).toBe(null)
|
|
203
|
+
expect.soft(frame.passthrough).toHaveBeenCalledOnce()
|
|
204
|
+
expect.soft(frame.respondWith).not.toHaveBeenCalled()
|
|
205
|
+
expect.soft(frame.errorWith).not.toHaveBeenCalled()
|
|
206
|
+
expect.soft(unhandledFrameCallback).not.toHaveBeenCalled()
|
|
207
|
+
expect.soft(events).toEqual([
|
|
208
|
+
expect.objectContaining({
|
|
209
|
+
type: 'request:start',
|
|
210
|
+
requestId: frame.data.id,
|
|
211
|
+
request: frame.data.request,
|
|
212
|
+
}),
|
|
213
|
+
expect.objectContaining({
|
|
214
|
+
type: 'request:end',
|
|
215
|
+
requestId: frame.data.id,
|
|
216
|
+
request: frame.data.request,
|
|
217
|
+
}),
|
|
218
|
+
])
|
|
219
|
+
})
|
|
220
|
+
|
|
221
|
+
test('resolves a matched passthrough', async () => {
|
|
171
222
|
class HttpFrame extends HttpNetworkFrame {
|
|
172
223
|
respondWith = vi.fn()
|
|
173
224
|
passthrough = vi.fn()
|
|
@@ -214,7 +265,7 @@ it('resolves a matched passthrough', async () => {
|
|
|
214
265
|
])
|
|
215
266
|
})
|
|
216
267
|
|
|
217
|
-
|
|
268
|
+
test('resolves a bypassed request', async () => {
|
|
218
269
|
class HttpFrame extends HttpNetworkFrame {
|
|
219
270
|
respondWith = vi.fn()
|
|
220
271
|
passthrough = vi.fn()
|
|
@@ -256,7 +307,7 @@ it('resolves a bypassed request', async () => {
|
|
|
256
307
|
])
|
|
257
308
|
})
|
|
258
309
|
|
|
259
|
-
|
|
310
|
+
test('errors the request on unhandled exception', async () => {
|
|
260
311
|
class HttpFrame extends HttpNetworkFrame {
|
|
261
312
|
respondWith = vi.fn()
|
|
262
313
|
passthrough = vi.fn()
|
|
@@ -309,7 +360,7 @@ it('errors the request on unhandled exception', async () => {
|
|
|
309
360
|
)
|
|
310
361
|
})
|
|
311
362
|
|
|
312
|
-
|
|
363
|
+
test('does not print an unhandled exception if the "unhandledException" listener is present', async () => {
|
|
313
364
|
class HttpFrame extends HttpNetworkFrame {
|
|
314
365
|
respondWith = vi.fn()
|
|
315
366
|
passthrough = vi.fn()
|
|
@@ -5,25 +5,27 @@ import {
|
|
|
5
5
|
NetworkFrame,
|
|
6
6
|
type NetworkFrameResolutionContext,
|
|
7
7
|
} from './network-frame'
|
|
8
|
-
import { toPublicUrl } from '../../utils/request/
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
8
|
+
import { toPublicUrl } from '../../utils/request/to-public-url'
|
|
9
|
+
import { isStringEqual } from '../../utils/internal/is-string-equal'
|
|
10
|
+
import { executeHandlers } from '../../utils/execute-handlers'
|
|
11
|
+
import { storeResponseCookies } from '../../utils/request/store-response-cookies'
|
|
12
|
+
import { shouldBypassRequest } from '../request-utils'
|
|
13
|
+
import { isPassthroughResponse } from '#utils/passthrough'
|
|
14
|
+
import { devUtils } from '../../utils/internal/dev-utils'
|
|
13
15
|
import {
|
|
14
16
|
executeUnhandledFrameHandle,
|
|
15
17
|
type UnhandledFrameHandle,
|
|
16
18
|
} from '../on-unhandled-frame'
|
|
17
19
|
import type { HandlersController } from '../handlers-controller'
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
+
import type { AnyHandler } from '../handlers-controller'
|
|
21
|
+
import type { RequestHandler } from '../../handlers/request-handler'
|
|
20
22
|
|
|
21
23
|
interface HttpNetworkFrameOptions {
|
|
22
24
|
id?: string
|
|
23
25
|
request: Request
|
|
24
26
|
}
|
|
25
27
|
|
|
26
|
-
|
|
28
|
+
class RequestEvent<
|
|
27
29
|
DataType extends { requestId: string; request: Request } = {
|
|
28
30
|
requestId: string
|
|
29
31
|
request: Request
|
|
@@ -66,7 +68,7 @@ export class ResponseEvent<
|
|
|
66
68
|
}
|
|
67
69
|
}
|
|
68
70
|
|
|
69
|
-
|
|
71
|
+
class UnhandledExceptionEvent<
|
|
70
72
|
DataType extends {
|
|
71
73
|
error: Error
|
|
72
74
|
requestId: string
|
|
@@ -190,6 +192,24 @@ export abstract class HttpNetworkFrame extends NetworkFrame<
|
|
|
190
192
|
|
|
191
193
|
// No matching handlers.
|
|
192
194
|
if (lookupResult == null) {
|
|
195
|
+
/**
|
|
196
|
+
* @note Unhandled CONNECT requests establish a tunnel through a proxy.
|
|
197
|
+
* They are transport, not the request the developer cares about, so
|
|
198
|
+
* they pass through silently regardless of the unhandled frame strategy.
|
|
199
|
+
* The request sent through the tunnel gets its own resolution.
|
|
200
|
+
*/
|
|
201
|
+
if (isStringEqual(request.method, 'CONNECT')) {
|
|
202
|
+
this.events.emit(
|
|
203
|
+
new RequestEvent('request:end', {
|
|
204
|
+
requestId,
|
|
205
|
+
request,
|
|
206
|
+
}),
|
|
207
|
+
)
|
|
208
|
+
|
|
209
|
+
this.passthrough()
|
|
210
|
+
return null
|
|
211
|
+
}
|
|
212
|
+
|
|
193
213
|
this.events.emit(
|
|
194
214
|
new RequestEvent('request:unhandled', {
|
|
195
215
|
requestId,
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { CloseEvent } from '@mswjs/interceptors/WebSocket'
|
|
2
|
+
import { http } from '#http/http'
|
|
3
|
+
import { graphql } from '../../../graphql'
|
|
4
|
+
import { ws } from '../../../ws'
|
|
4
5
|
import type { WebSocketNetworkFrameEventMap } from './websocket-frame'
|
|
5
6
|
import { WebSocketNetworkFrame } from './websocket-frame'
|
|
6
7
|
import { createTestWebSocketConnection } from '../../../../test/support/ws-test-utils'
|
|
7
8
|
import { InMemoryHandlersController } from '#core/experimental/handlers-controller'
|
|
8
9
|
|
|
10
|
+
const gql = graphql.link('*')
|
|
11
|
+
|
|
9
12
|
beforeAll(() => {
|
|
10
13
|
vi.spyOn(console, 'error').mockImplementation(() => {})
|
|
11
14
|
})
|
|
@@ -30,7 +33,7 @@ function spyOnWebSocketFrame(frame: WebSocketNetworkFrame) {
|
|
|
30
33
|
}
|
|
31
34
|
}
|
|
32
35
|
|
|
33
|
-
|
|
36
|
+
test('filters only websocket type handlers', async () => {
|
|
34
37
|
class WebSocketFrame extends WebSocketNetworkFrame {
|
|
35
38
|
passthrough = vi.fn()
|
|
36
39
|
errorWith = vi.fn()
|
|
@@ -40,7 +43,7 @@ it('filters only websocket type handlers', async () => {
|
|
|
40
43
|
const frame = new WebSocketFrame({ connection })
|
|
41
44
|
|
|
42
45
|
const httpHandlers = [http.post('http://localhost/api/user', () => {})]
|
|
43
|
-
const graphqlHandlers = [
|
|
46
|
+
const graphqlHandlers = [gql.query('GetUser', () => {})]
|
|
44
47
|
const webSocketHandlers = [
|
|
45
48
|
ws.link('ws://localhost').addEventListener('connection', () => {}),
|
|
46
49
|
]
|
|
@@ -55,7 +58,7 @@ it('filters only websocket type handlers', async () => {
|
|
|
55
58
|
expect(frame.getHandlers(new InMemoryHandlersController([]))).toEqual([])
|
|
56
59
|
})
|
|
57
60
|
|
|
58
|
-
|
|
61
|
+
test('resolves a matching connection', async () => {
|
|
59
62
|
class WebSocketFrame extends WebSocketNetworkFrame {
|
|
60
63
|
passthrough = vi.fn()
|
|
61
64
|
errorWith = vi.fn()
|
|
@@ -84,14 +87,14 @@ it('resolves a matching connection', async () => {
|
|
|
84
87
|
expect.soft(unhandledFrameCallback).not.toHaveBeenCalled()
|
|
85
88
|
expect.soft(events).toEqual([
|
|
86
89
|
expect.objectContaining({
|
|
87
|
-
type: 'connection',
|
|
90
|
+
type: 'websocket:connection',
|
|
88
91
|
url: connection.client.url,
|
|
89
92
|
protocols: connection.info.protocols,
|
|
90
93
|
}),
|
|
91
94
|
])
|
|
92
95
|
})
|
|
93
96
|
|
|
94
|
-
|
|
97
|
+
test('resolves a connection when there are no handlers', async () => {
|
|
95
98
|
class WebSocketFrame extends WebSocketNetworkFrame {
|
|
96
99
|
passthrough = vi.fn()
|
|
97
100
|
errorWith = vi.fn()
|
|
@@ -119,14 +122,14 @@ it('resolves a connection when there are no handlers', async () => {
|
|
|
119
122
|
)
|
|
120
123
|
expect.soft(events).toEqual([
|
|
121
124
|
expect.objectContaining({
|
|
122
|
-
type: 'connection',
|
|
125
|
+
type: 'websocket:connection',
|
|
123
126
|
url: connection.client.url,
|
|
124
127
|
protocols: connection.info.protocols,
|
|
125
128
|
}),
|
|
126
129
|
])
|
|
127
130
|
})
|
|
128
131
|
|
|
129
|
-
|
|
132
|
+
test('resolves a non-matching connection', async () => {
|
|
130
133
|
class WebSocketFrame extends WebSocketNetworkFrame {
|
|
131
134
|
passthrough = vi.fn()
|
|
132
135
|
errorWith = vi.fn()
|
|
@@ -157,14 +160,14 @@ it('resolves a non-matching connection', async () => {
|
|
|
157
160
|
)
|
|
158
161
|
expect.soft(events).toEqual([
|
|
159
162
|
expect.objectContaining({
|
|
160
|
-
type: 'connection',
|
|
163
|
+
type: 'websocket:connection',
|
|
161
164
|
url: connection.client.url,
|
|
162
165
|
protocols: connection.info.protocols,
|
|
163
166
|
}),
|
|
164
167
|
])
|
|
165
168
|
})
|
|
166
169
|
|
|
167
|
-
|
|
170
|
+
test('returns null and prints the error on unhandled exception', async () => {
|
|
168
171
|
class WebSocketFrame extends WebSocketNetworkFrame {
|
|
169
172
|
passthrough = vi.fn()
|
|
170
173
|
errorWith = vi.fn()
|
|
@@ -197,7 +200,7 @@ it('returns null and prints the error on unhandled exception', async () => {
|
|
|
197
200
|
expect.soft(unhandledFrameCallback).not.toHaveBeenCalled()
|
|
198
201
|
expect.soft(events).toEqual([
|
|
199
202
|
expect.objectContaining({
|
|
200
|
-
type: 'connection',
|
|
203
|
+
type: 'websocket:connection',
|
|
201
204
|
url: connection.client.url,
|
|
202
205
|
protocols: connection.info.protocols,
|
|
203
206
|
}),
|
|
@@ -219,7 +222,7 @@ it('returns null and prints the error on unhandled exception', async () => {
|
|
|
219
222
|
)
|
|
220
223
|
})
|
|
221
224
|
|
|
222
|
-
|
|
225
|
+
test('does not print an unhandled exception if the "unhandledException" listener is present', async () => {
|
|
223
226
|
class WebSocketFrame extends WebSocketNetworkFrame {
|
|
224
227
|
passthrough = vi.fn()
|
|
225
228
|
errorWith = vi.fn()
|
|
@@ -255,7 +258,7 @@ it('does not print an unhandled exception if the "unhandledException" listener i
|
|
|
255
258
|
expect.soft(unhandledFrameCallback).not.toHaveBeenCalled()
|
|
256
259
|
expect.soft(events).toEqual([
|
|
257
260
|
expect.objectContaining({
|
|
258
|
-
type: 'connection',
|
|
261
|
+
type: 'websocket:connection',
|
|
259
262
|
url: connection.client.url,
|
|
260
263
|
protocols: connection.info.protocols,
|
|
261
264
|
}),
|
|
@@ -276,3 +279,114 @@ it('does not print an unhandled exception if the "unhandledException" listener i
|
|
|
276
279
|
)
|
|
277
280
|
expect.soft(console.error).not.toHaveBeenCalled()
|
|
278
281
|
})
|
|
282
|
+
|
|
283
|
+
test('emits "websocket:error" when the client connection errors', async () => {
|
|
284
|
+
class WebSocketFrame extends WebSocketNetworkFrame {
|
|
285
|
+
passthrough = vi.fn()
|
|
286
|
+
errorWith = vi.fn()
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
const connection = createTestWebSocketConnection('ws://localhost/api')
|
|
290
|
+
const frame = new WebSocketFrame({ connection })
|
|
291
|
+
const { events } = spyOnWebSocketFrame(frame)
|
|
292
|
+
|
|
293
|
+
const api = ws.link('ws://localhost/api')
|
|
294
|
+
await frame.resolve([api.addEventListener('connection', () => {})], vi.fn(), {
|
|
295
|
+
quiet: true,
|
|
296
|
+
})
|
|
297
|
+
|
|
298
|
+
connection.client.socket.dispatchEvent(new Event('error'))
|
|
299
|
+
|
|
300
|
+
expect(events).toEqual([
|
|
301
|
+
expect.objectContaining({
|
|
302
|
+
type: 'websocket:connection',
|
|
303
|
+
}),
|
|
304
|
+
expect.objectContaining({
|
|
305
|
+
type: 'websocket:error',
|
|
306
|
+
url: connection.client.url,
|
|
307
|
+
protocols: connection.info.protocols,
|
|
308
|
+
error: undefined,
|
|
309
|
+
}),
|
|
310
|
+
])
|
|
311
|
+
})
|
|
312
|
+
|
|
313
|
+
test('exposes the "error" property of the error event on "websocket:error"', async () => {
|
|
314
|
+
class WebSocketFrame extends WebSocketNetworkFrame {
|
|
315
|
+
passthrough = vi.fn()
|
|
316
|
+
errorWith = vi.fn()
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
const connection = createTestWebSocketConnection('ws://localhost/api')
|
|
320
|
+
const frame = new WebSocketFrame({ connection })
|
|
321
|
+
const { events } = spyOnWebSocketFrame(frame)
|
|
322
|
+
|
|
323
|
+
const api = ws.link('ws://localhost/api')
|
|
324
|
+
await frame.resolve([api.addEventListener('connection', () => {})], vi.fn(), {
|
|
325
|
+
quiet: true,
|
|
326
|
+
})
|
|
327
|
+
|
|
328
|
+
const error = new Error('Connection failed')
|
|
329
|
+
connection.client.socket.dispatchEvent(
|
|
330
|
+
Object.assign(new Event('error'), { error }),
|
|
331
|
+
)
|
|
332
|
+
|
|
333
|
+
expect(events[1]).toEqual(
|
|
334
|
+
expect.objectContaining({
|
|
335
|
+
type: 'websocket:error',
|
|
336
|
+
error,
|
|
337
|
+
}),
|
|
338
|
+
)
|
|
339
|
+
})
|
|
340
|
+
|
|
341
|
+
test('exposes the "cause" property of the error event on "websocket:error"', async () => {
|
|
342
|
+
class WebSocketFrame extends WebSocketNetworkFrame {
|
|
343
|
+
passthrough = vi.fn()
|
|
344
|
+
errorWith = vi.fn()
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
const connection = createTestWebSocketConnection('ws://localhost/api')
|
|
348
|
+
const frame = new WebSocketFrame({ connection })
|
|
349
|
+
const { events } = spyOnWebSocketFrame(frame)
|
|
350
|
+
|
|
351
|
+
const api = ws.link('ws://localhost/api')
|
|
352
|
+
await frame.resolve([api.addEventListener('connection', () => {})], vi.fn(), {
|
|
353
|
+
quiet: true,
|
|
354
|
+
})
|
|
355
|
+
|
|
356
|
+
const cause = new Error('Connection failed')
|
|
357
|
+
connection.client.socket.dispatchEvent(
|
|
358
|
+
Object.assign(new Event('error'), { cause }),
|
|
359
|
+
)
|
|
360
|
+
|
|
361
|
+
expect(events[1]).toEqual(
|
|
362
|
+
expect.objectContaining({
|
|
363
|
+
type: 'websocket:error',
|
|
364
|
+
error: cause,
|
|
365
|
+
}),
|
|
366
|
+
)
|
|
367
|
+
})
|
|
368
|
+
|
|
369
|
+
test('stops emitting "websocket:error" once the client connection closes', async () => {
|
|
370
|
+
class WebSocketFrame extends WebSocketNetworkFrame {
|
|
371
|
+
passthrough = vi.fn()
|
|
372
|
+
errorWith = vi.fn()
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
const connection = createTestWebSocketConnection('ws://localhost/api')
|
|
376
|
+
const frame = new WebSocketFrame({ connection })
|
|
377
|
+
const { events } = spyOnWebSocketFrame(frame)
|
|
378
|
+
|
|
379
|
+
const api = ws.link('ws://localhost/api')
|
|
380
|
+
await frame.resolve([api.addEventListener('connection', () => {})], vi.fn(), {
|
|
381
|
+
quiet: true,
|
|
382
|
+
})
|
|
383
|
+
|
|
384
|
+
connection.client.socket.dispatchEvent(new CloseEvent('close'))
|
|
385
|
+
connection.client.socket.dispatchEvent(new Event('error'))
|
|
386
|
+
|
|
387
|
+
expect(events).toEqual([
|
|
388
|
+
expect.objectContaining({
|
|
389
|
+
type: 'websocket:connection',
|
|
390
|
+
}),
|
|
391
|
+
])
|
|
392
|
+
})
|