msw 2.14.7 → 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 -28289
- package/lib/iife/index.js.map +1 -1
- package/lib/mockServiceWorker.js +204 -93
- 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} +168 -73
- 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 +64 -0
- package/src/core/utils/internal/observe-response-body-stream.ts +76 -0
- 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} +28 -9
- 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} +107 -18
- 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 +202 -91
- 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 +105 -69
- 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-BTyqrRB6.d.mts +0 -371
- package/lib/core/HttpResponse-BXyXQFMJ.d.ts +0 -371
- 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 -300
- package/lib/core/handlers/RequestHandler.js.map +0 -1
- package/lib/core/handlers/RequestHandler.mjs +0 -283
- 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 -672
- package/lib/core/sse.js.map +0 -1
- package/lib/core/sse.mjs +0 -654
- 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 -17
- package/lib/core/utils/HttpResponse/decorators.d.ts +0 -17
- package/lib/core/utils/HttpResponse/decorators.js +0 -71
- package/lib/core/utils/HttpResponse/decorators.js.map +0 -1
- package/lib/core/utils/HttpResponse/decorators.mjs +0 -41
- 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/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
package/src/{core → sse}/sse.ts
RENAMED
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import { invariant } from 'outvariant'
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import type { ResponseResolver } from './handlers/RequestHandler'
|
|
2
|
+
import { Emitter, TypedEvent } from 'rettime'
|
|
3
|
+
import type { ResponseResolver } from '#core/handlers/request-handler'
|
|
5
4
|
import {
|
|
6
5
|
HttpHandler,
|
|
7
6
|
type HttpRequestResolverExtras,
|
|
8
7
|
type HttpRequestParsedResult,
|
|
9
|
-
} from '
|
|
10
|
-
import type { ResponseResolutionContext } from '#core/utils/
|
|
11
|
-
import type { Path, PathParams } from '
|
|
12
|
-
import { delay } from '
|
|
13
|
-
import { getTimestamp } from '
|
|
14
|
-
import { devUtils } from '
|
|
15
|
-
import { colors } from '
|
|
16
|
-
import { toPublicUrl } from '
|
|
8
|
+
} from '#http/http-handler'
|
|
9
|
+
import type { ResponseResolutionContext } from '#core/utils/execute-handlers'
|
|
10
|
+
import type { Path, PathParams } from '#core/utils/matching/match-request-url'
|
|
11
|
+
import { delay } from '#utils/delay'
|
|
12
|
+
import { getTimestamp } from '#core/utils/logging/get-timestamp'
|
|
13
|
+
import { devUtils } from '#core/utils/internal/dev-utils'
|
|
14
|
+
import { colors } from '#core/utils/logging/colors'
|
|
15
|
+
import { toPublicUrl } from '#core/utils/request/to-public-url'
|
|
17
16
|
|
|
18
17
|
type EventMapConstraint = {
|
|
19
18
|
message?: unknown
|
|
@@ -105,11 +104,17 @@ class ServerSentEventHandler<
|
|
|
105
104
|
this.#attachClientLogger(info.request, emitter)
|
|
106
105
|
}
|
|
107
106
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
107
|
+
/**
|
|
108
|
+
* @note Extend the resolver info via assignment instead of a spread.
|
|
109
|
+
* Spreading the info would invoke its lazy `finalize` getter,
|
|
110
|
+
* initializing the finalize machinery for resolvers that never use it.
|
|
111
|
+
*/
|
|
112
|
+
await resolver(
|
|
113
|
+
Object.assign(info, {
|
|
114
|
+
client,
|
|
115
|
+
server,
|
|
116
|
+
}),
|
|
117
|
+
)
|
|
113
118
|
|
|
114
119
|
return response
|
|
115
120
|
})
|
|
@@ -151,7 +156,14 @@ class ServerSentEventHandler<
|
|
|
151
156
|
return matches
|
|
152
157
|
}
|
|
153
158
|
|
|
154
|
-
async log(
|
|
159
|
+
async log(args: { request: Request; response: Response }): Promise<void> {
|
|
160
|
+
/**
|
|
161
|
+
* @note Cancel the response stream because it's not needed for logging.
|
|
162
|
+
* Otherwise, this cloned response remains unconsumed and its original
|
|
163
|
+
* doesn't propagate stream cancelations at all.
|
|
164
|
+
*/
|
|
165
|
+
args.response.body?.cancel()
|
|
166
|
+
|
|
155
167
|
/**
|
|
156
168
|
* @note Skip the default `this.log()` logic so that when this handler is logged
|
|
157
169
|
* upon handling the request, nothing is printed (we log SSE requests early).
|
|
@@ -166,16 +178,14 @@ class ServerSentEventHandler<
|
|
|
166
178
|
const publicUrl = toPublicUrl(request.url)
|
|
167
179
|
|
|
168
180
|
/* eslint-disable no-console */
|
|
169
|
-
emitter.on('message', (
|
|
181
|
+
emitter.on('message', ({ data }) => {
|
|
170
182
|
console.groupCollapsed(
|
|
171
|
-
devUtils.formatMessage(
|
|
172
|
-
`${getTimestamp()} SSE %s %c⇣%c ${payload.event}`,
|
|
173
|
-
),
|
|
183
|
+
devUtils.formatMessage(`${getTimestamp()} SSE %s %c⇣%c ${data.event}`),
|
|
174
184
|
publicUrl,
|
|
175
185
|
`color:${colors.mocked}`,
|
|
176
186
|
'color:inherit',
|
|
177
187
|
)
|
|
178
|
-
console.log(
|
|
188
|
+
console.log(data.frames)
|
|
179
189
|
console.groupEnd()
|
|
180
190
|
})
|
|
181
191
|
|
|
@@ -227,9 +237,9 @@ type ToEventDiscriminatedUnion<T> = Values<{
|
|
|
227
237
|
}>
|
|
228
238
|
|
|
229
239
|
type ServerSentEventClientEventMap = {
|
|
230
|
-
message:
|
|
231
|
-
error:
|
|
232
|
-
close:
|
|
240
|
+
message: TypedEvent<EventStreamMessage>
|
|
241
|
+
error: TypedEvent
|
|
242
|
+
close: TypedEvent
|
|
233
243
|
}
|
|
234
244
|
|
|
235
245
|
const kClientEmitter = Symbol.for('kClientEmitter')
|
|
@@ -240,11 +250,15 @@ class ServerSentEventClient<
|
|
|
240
250
|
private [kClientEmitter]?: Emitter<ServerSentEventClientEventMap>
|
|
241
251
|
|
|
242
252
|
#encoder: TextEncoder
|
|
243
|
-
#
|
|
253
|
+
#controller: ReadableStreamDefaultController<Uint8Array>
|
|
254
|
+
#closed: PromiseWithResolvers<void>
|
|
255
|
+
#isClosed: boolean
|
|
244
256
|
|
|
245
|
-
constructor(
|
|
257
|
+
constructor(controller: ReadableStreamDefaultController<Uint8Array>) {
|
|
246
258
|
this.#encoder = new TextEncoder()
|
|
247
|
-
this.#
|
|
259
|
+
this.#controller = controller
|
|
260
|
+
this.#closed = Promise.withResolvers()
|
|
261
|
+
this.#isClosed = false
|
|
248
262
|
}
|
|
249
263
|
|
|
250
264
|
/**
|
|
@@ -300,37 +314,52 @@ class ServerSentEventClient<
|
|
|
300
314
|
* error.
|
|
301
315
|
*/
|
|
302
316
|
public error(): void {
|
|
303
|
-
this.#
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
this
|
|
317
|
+
if (this.#isClosed) {
|
|
318
|
+
return
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
this.#controller.error()
|
|
322
|
+
this.#isClosed = true
|
|
323
|
+
this.#closed.resolve()
|
|
324
|
+
this[kClientEmitter]?.emit(new TypedEvent('error'))
|
|
310
325
|
}
|
|
311
326
|
|
|
312
327
|
/**
|
|
313
328
|
* Closes the underlying `EventSource`, closing the connection.
|
|
314
329
|
*/
|
|
315
330
|
public close(): void {
|
|
316
|
-
this.#
|
|
331
|
+
if (this.#isClosed) {
|
|
332
|
+
return
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
try {
|
|
336
|
+
this.#controller.close()
|
|
337
|
+
this.#isClosed = true
|
|
338
|
+
this.#closed.resolve()
|
|
339
|
+
} catch {
|
|
340
|
+
//
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
this[kClientEmitter]?.emit(new TypedEvent('close'))
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
#enqueue(chunk: Uint8Array): void {
|
|
347
|
+
if (this.#isClosed) {
|
|
348
|
+
return
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
try {
|
|
352
|
+
this.#controller.enqueue(chunk)
|
|
353
|
+
} catch (error) {
|
|
317
354
|
console.error(error)
|
|
318
355
|
devUtils.error(
|
|
319
|
-
'Failed to
|
|
356
|
+
'Failed to write to server-side EventSource. Please see the original error above.',
|
|
320
357
|
)
|
|
321
|
-
}
|
|
322
|
-
this[kClientEmitter]?.emit('close')
|
|
358
|
+
}
|
|
323
359
|
}
|
|
324
360
|
|
|
325
361
|
#sendRetry(retry: number): void {
|
|
326
|
-
this.#
|
|
327
|
-
.write(this.#encoder.encode(`retry:${retry}\n\n`))
|
|
328
|
-
.catch((error) => {
|
|
329
|
-
console.error(error)
|
|
330
|
-
devUtils.error(
|
|
331
|
-
'Failed to send a retry packet to server-side EventSource. Please see the original error above.',
|
|
332
|
-
)
|
|
333
|
-
})
|
|
362
|
+
this.#enqueue(this.#encoder.encode(`retry:${retry}\n\n`))
|
|
334
363
|
}
|
|
335
364
|
|
|
336
365
|
#sendMessage(message: {
|
|
@@ -361,21 +390,18 @@ class ServerSentEventClient<
|
|
|
361
390
|
|
|
362
391
|
frames.push('', '')
|
|
363
392
|
|
|
364
|
-
this.#
|
|
365
|
-
.write(this.#encoder.encode(frames.join('\n')))
|
|
366
|
-
.catch((error) => {
|
|
367
|
-
console.error(error)
|
|
368
|
-
devUtils.error(
|
|
369
|
-
'Failed to send a message to server-side EventSource. Please see the original error above.',
|
|
370
|
-
)
|
|
371
|
-
})
|
|
393
|
+
this.#enqueue(this.#encoder.encode(frames.join('\n')))
|
|
372
394
|
|
|
373
|
-
this[kClientEmitter]?.emit(
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
395
|
+
this[kClientEmitter]?.emit(
|
|
396
|
+
new TypedEvent('message', {
|
|
397
|
+
data: {
|
|
398
|
+
id: message.id,
|
|
399
|
+
event: message.event?.toString() || 'message',
|
|
400
|
+
data: message.data,
|
|
401
|
+
frames,
|
|
402
|
+
},
|
|
403
|
+
}),
|
|
404
|
+
)
|
|
379
405
|
}
|
|
380
406
|
}
|
|
381
407
|
|
|
@@ -731,15 +757,16 @@ class ObservableEventSource extends EventTarget implements EventSource {
|
|
|
731
757
|
return
|
|
732
758
|
}
|
|
733
759
|
|
|
734
|
-
const aborted =
|
|
760
|
+
const aborted = Promise.withResolvers<void>()
|
|
735
761
|
const onAbort = () => aborted.resolve()
|
|
736
762
|
signal.addEventListener('abort', onAbort, { once: true })
|
|
737
763
|
|
|
738
|
-
await Promise.race([
|
|
739
|
-
()
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
764
|
+
await Promise.race([
|
|
765
|
+
delay(this[kReconnectionTime]),
|
|
766
|
+
aborted.promise,
|
|
767
|
+
]).finally(() => {
|
|
768
|
+
signal.removeEventListener('abort', onAbort)
|
|
769
|
+
})
|
|
743
770
|
|
|
744
771
|
if (signal.aborted) {
|
|
745
772
|
return
|
|
@@ -1002,9 +1029,18 @@ function createEventStream<EventMap extends EventMapConstraint>(
|
|
|
1002
1029
|
request.url,
|
|
1003
1030
|
)
|
|
1004
1031
|
|
|
1005
|
-
|
|
1032
|
+
let controller!: ReadableStreamDefaultController<Uint8Array>
|
|
1033
|
+
|
|
1034
|
+
const readable = new ReadableStream<Uint8Array>({
|
|
1035
|
+
start(defaultController) {
|
|
1036
|
+
controller = defaultController
|
|
1037
|
+
},
|
|
1038
|
+
cancel() {
|
|
1039
|
+
client.close()
|
|
1040
|
+
},
|
|
1041
|
+
})
|
|
1006
1042
|
|
|
1007
|
-
const client = new ServerSentEventClient<EventMap>(
|
|
1043
|
+
const client = new ServerSentEventClient<EventMap>(controller)
|
|
1008
1044
|
const server = new ServerSentEventServer({
|
|
1009
1045
|
request,
|
|
1010
1046
|
client,
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"extends": "./tsconfig.src.json",
|
|
3
3
|
"compilerOptions": {
|
|
4
|
-
"composite": false
|
|
4
|
+
"composite": false,
|
|
5
|
+
// The single ESM build emits the declarations for "src/node" too.
|
|
6
|
+
// Explicitly include the Node.js types so imports like "node:async_hooks"
|
|
7
|
+
// resolve during the declaration emit instead of degrading to "any".
|
|
8
|
+
"types": ["node"]
|
|
5
9
|
}
|
|
6
10
|
}
|
package/src/tsconfig.core.json
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"extends": "./tsconfig.src.json",
|
|
3
|
-
"include": [
|
|
3
|
+
"include": [
|
|
4
|
+
"./core/**/*.ts",
|
|
5
|
+
"./http/**/*.ts",
|
|
6
|
+
"./graphql/**/*.ts",
|
|
7
|
+
"./ws/**/*.ts",
|
|
8
|
+
"./sse/**/*.ts",
|
|
9
|
+
"./utils/**/*.ts"
|
|
10
|
+
],
|
|
4
11
|
"files": [],
|
|
5
12
|
"compilerOptions": {
|
|
6
13
|
"composite": true
|
package/src/tsconfig.node.json
CHANGED
package/src/tsconfig.src.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { bypass } from './bypass'
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
test('returns bypassed request given a request url string', async () => {
|
|
7
7
|
const request = bypass('https://api.example.com/resource')
|
|
8
8
|
|
|
9
9
|
// Relative URLs are rebased against the current location.
|
|
@@ -12,14 +12,14 @@ it('returns bypassed request given a request url string', async () => {
|
|
|
12
12
|
expect(Array.from(request.headers)).toEqual([['accept', 'msw/passthrough']])
|
|
13
13
|
})
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
test('returns bypassed request given a request url', async () => {
|
|
16
16
|
const request = bypass(new URL('/resource', 'https://api.example.com'))
|
|
17
17
|
|
|
18
18
|
expect(request.url).toBe('https://api.example.com/resource')
|
|
19
19
|
expect(Array.from(request.headers)).toEqual([['accept', 'msw/passthrough']])
|
|
20
20
|
})
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
test('returns bypassed request given request instance', async () => {
|
|
23
23
|
const original = new Request('http://localhost/resource', {
|
|
24
24
|
method: 'POST',
|
|
25
25
|
headers: {
|
|
@@ -44,7 +44,7 @@ it('returns bypassed request given request instance', async () => {
|
|
|
44
44
|
])
|
|
45
45
|
})
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
test('allows modifying the bypassed request instance', async () => {
|
|
48
48
|
const original = new Request('http://localhost/resource', {
|
|
49
49
|
method: 'POST',
|
|
50
50
|
body: 'hello world',
|
|
@@ -66,7 +66,24 @@ it('allows modifying the bypassed request instance', async () => {
|
|
|
66
66
|
expect(original.bodyUsed).toBe(false)
|
|
67
67
|
})
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
test('removes the "content-length" request header', async () => {
|
|
70
|
+
// Intercepted requests parsed from the wire include the received
|
|
71
|
+
// "content-length" header. Deriving a request with a different body
|
|
72
|
+
// makes that header stale, and the request client would reject the
|
|
73
|
+
// bypassed request due to the content length mismatch.
|
|
74
|
+
const original = new Request('http://localhost/resource', {
|
|
75
|
+
method: 'POST',
|
|
76
|
+
headers: { 'content-length': '42' },
|
|
77
|
+
body: 'a-body-that-is-42-characters-long-in-total',
|
|
78
|
+
})
|
|
79
|
+
const request = bypass(new Request(original, { body: 'short' }))
|
|
80
|
+
|
|
81
|
+
expect(request.headers.get('content-length')).toBeNull()
|
|
82
|
+
await expect(request.text()).resolves.toBe('short')
|
|
83
|
+
expect(original.bodyUsed).toBe(false)
|
|
84
|
+
})
|
|
85
|
+
|
|
86
|
+
test('supports bypassing "keepalive: true" requests', async () => {
|
|
70
87
|
const original = new Request('http://localhost/resource', {
|
|
71
88
|
method: 'POST',
|
|
72
89
|
keepalive: true,
|
|
@@ -42,5 +42,16 @@ export function bypass(input: BypassRequestInput, init?: RequestInit): Request {
|
|
|
42
42
|
*/
|
|
43
43
|
requestClone.headers.append('accept', 'msw/passthrough')
|
|
44
44
|
|
|
45
|
+
/**
|
|
46
|
+
* Delete the "content-length" request header.
|
|
47
|
+
* Intercepted requests are parsed from the wire and include the
|
|
48
|
+
* received "content-length" header. If the consumer derives a new
|
|
49
|
+
* request with a different body (e.g. `new Request(request, { body })`),
|
|
50
|
+
* that header becomes stale and the request client will reject the
|
|
51
|
+
* bypassed request due to the content length mismatch. The request
|
|
52
|
+
* client always re-computes this header from the actual request body.
|
|
53
|
+
*/
|
|
54
|
+
requestClone.headers.delete('content-length')
|
|
55
|
+
|
|
45
56
|
return requestClone
|
|
46
57
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { isNodeProcess } from 'is-node-process'
|
|
2
|
-
import { hasRefCounted } from '
|
|
2
|
+
import { hasRefCounted } from '#core/utils/internal/has-ref-counted'
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
const SET_TIMEOUT_MAX_ALLOWED_INT = 2147483647
|
|
5
|
+
const MIN_SERVER_RESPONSE_TIME = 100
|
|
6
|
+
const MAX_SERVER_RESPONSE_TIME = 400
|
|
7
|
+
const NODE_SERVER_RESPONSE_TIME = 5
|
|
8
8
|
|
|
9
9
|
function getRealisticResponseTime(): number {
|
|
10
10
|
if (isNodeProcess()) {
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { getCleanUrlString } from './get-clean-url-string'
|
|
2
|
+
|
|
3
|
+
test('removes query parameters from a URL string', () => {
|
|
4
|
+
expect(getCleanUrlString('/user?id=123')).toEqual('/user')
|
|
5
|
+
expect(getCleanUrlString('/user?id=123&id=456')).toEqual('/user')
|
|
6
|
+
expect(getCleanUrlString('/user?id=123&role=admin')).toEqual('/user')
|
|
7
|
+
})
|
|
8
|
+
|
|
9
|
+
test('removes hashes from a URL string', () => {
|
|
10
|
+
expect(getCleanUrlString('/user#hash')).toEqual('/user')
|
|
11
|
+
expect(getCleanUrlString('/user#hash-with-dashes')).toEqual('/user')
|
|
12
|
+
})
|
|
13
|
+
|
|
14
|
+
test('removes both query parameters and hashes from a URL string', () => {
|
|
15
|
+
expect(getCleanUrlString('/user?id=123#some')).toEqual('/user')
|
|
16
|
+
expect(getCleanUrlString('/user?id=123&role=admin#some')).toEqual('/user')
|
|
17
|
+
})
|
|
18
|
+
|
|
19
|
+
test('preserves optional path parameters', () => {
|
|
20
|
+
expect(getCleanUrlString('/user/:id?')).toEqual('/user/:id?')
|
|
21
|
+
expect(getCleanUrlString('/user/:id?/:messageId?')).toEqual(
|
|
22
|
+
'/user/:id?/:messageId?',
|
|
23
|
+
)
|
|
24
|
+
})
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const REDUNDANT_CHARACTERS_EXP = /[?|#].*$/g
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Removes search parameters and the fragment from a given URL string.
|
|
5
|
+
* Unlike `getCleanUrl()` from Interceptors, accepts relative URLs and
|
|
6
|
+
* path patterns (e.g. "/user/:id?") since it never parses the input as a URL.
|
|
7
|
+
*/
|
|
8
|
+
export function getCleanUrlString(url: string): string {
|
|
9
|
+
// If the URL ends with an optional path parameter, return it as-is.
|
|
10
|
+
if (url.endsWith('?')) {
|
|
11
|
+
return url
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// Otherwise, remove the search and fragment from it.
|
|
15
|
+
return url.replace(REDUNDANT_CHARACTERS_EXP, '')
|
|
16
|
+
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
// @vitest-environment node
|
|
2
|
-
import { http } from '
|
|
3
|
-
import { getResponse } from './
|
|
2
|
+
import { http } from '#http/http'
|
|
3
|
+
import { getResponse } from './get-response'
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
test('returns undefined given empty headers array', async () => {
|
|
6
6
|
await expect(
|
|
7
7
|
getResponse([], new Request('http://localhost/')),
|
|
8
8
|
).resolves.toBeUndefined()
|
|
9
9
|
})
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
test('returns undefined given no matching handlers', async () => {
|
|
12
12
|
await expect(
|
|
13
13
|
getResponse(
|
|
14
14
|
[http.get('/product', () => void 0)],
|
|
@@ -17,7 +17,7 @@ it('returns undefined given no matching handlers', async () => {
|
|
|
17
17
|
).resolves.toBeUndefined()
|
|
18
18
|
})
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
test('returns undefined given a matching handler that returned no response', async () => {
|
|
21
21
|
await expect(
|
|
22
22
|
getResponse(
|
|
23
23
|
[http.get('*/user', () => void 0)],
|
|
@@ -26,7 +26,7 @@ it('returns undefined given a matching handler that returned no response', async
|
|
|
26
26
|
).resolves.toBeUndefined()
|
|
27
27
|
})
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
test('returns undefined given a matching handler that returned explicit undefined', async () => {
|
|
30
30
|
await expect(
|
|
31
31
|
getResponse(
|
|
32
32
|
[http.get('*/user', () => undefined)],
|
|
@@ -35,7 +35,7 @@ it('returns undefined given a matching handler that returned explicit undefined'
|
|
|
35
35
|
).resolves.toBeUndefined()
|
|
36
36
|
})
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
test('returns the response returned from a matching handler', async () => {
|
|
39
39
|
const response = await getResponse(
|
|
40
40
|
[http.get('*/user', () => Response.json({ name: 'John' }))],
|
|
41
41
|
new Request('http://localhost/user'),
|
|
@@ -46,7 +46,7 @@ it('returns the response returned from a matching handler', async () => {
|
|
|
46
46
|
await expect(response?.json()).resolves.toEqual({ name: 'John' })
|
|
47
47
|
})
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
test('returns the response from the first matching handler if multiple match', async () => {
|
|
50
50
|
const response = await getResponse(
|
|
51
51
|
[
|
|
52
52
|
http.get('*/user', () => Response.json({ name: 'John' })),
|
|
@@ -60,7 +60,7 @@ it('returns the response from the first matching handler if multiple match', asy
|
|
|
60
60
|
await expect(response?.json()).resolves.toEqual({ name: 'John' })
|
|
61
61
|
})
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
test('supports custom base url', async () => {
|
|
64
64
|
const response = await getResponse(
|
|
65
65
|
[http.get('/resource', () => new Response('hello world'))],
|
|
66
66
|
new Request('https://localhost:3000/resource'),
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { createRequestId } from '@mswjs/interceptors'
|
|
2
|
-
import type { RequestHandler } from '
|
|
2
|
+
import type { RequestHandler } from '#core/handlers/request-handler'
|
|
3
3
|
import {
|
|
4
4
|
executeHandlers,
|
|
5
5
|
type ResponseResolutionContext,
|
|
6
|
-
} from '
|
|
6
|
+
} from '#core/utils/execute-handlers'
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Finds a response for the given request instance
|
|
@@ -6,11 +6,12 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @example
|
|
8
8
|
* import { isCommonAssetRequest } from 'msw'
|
|
9
|
+
* import { HttpNetworkFrame } from 'msw/experimental'
|
|
9
10
|
*
|
|
10
11
|
* await worker.start({
|
|
11
|
-
*
|
|
12
|
-
* if (!isCommonAssetRequest(request)) {
|
|
13
|
-
*
|
|
12
|
+
* onUnhandledFrame({ frame, defaults }) {
|
|
13
|
+
* if (frame instanceof HttpNetworkFrame && !isCommonAssetRequest(frame.data.request)) {
|
|
14
|
+
* defaults.warn()
|
|
14
15
|
* }
|
|
15
16
|
* }
|
|
16
17
|
* })
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// @vitest-environment node
|
|
2
|
+
import {
|
|
3
|
+
passthrough,
|
|
4
|
+
isPassthroughResponse,
|
|
5
|
+
REQUEST_INTENTION_HEADER_NAME,
|
|
6
|
+
RequestIntention,
|
|
7
|
+
} from './passthrough'
|
|
8
|
+
|
|
9
|
+
describe(passthrough, () => {
|
|
10
|
+
test('creates a 302 response with the intention header', () => {
|
|
11
|
+
const response = passthrough()
|
|
12
|
+
|
|
13
|
+
expect(response).toBeInstanceOf(Response)
|
|
14
|
+
expect(response.status).toBe(302)
|
|
15
|
+
expect(response.statusText).toBe('Passthrough')
|
|
16
|
+
expect(response.headers.get('x-msw-intention')).toBe('passthrough')
|
|
17
|
+
})
|
|
18
|
+
})
|
|
19
|
+
|
|
20
|
+
describe(isPassthroughResponse, () => {
|
|
21
|
+
test('returns true for a passthrough response', () => {
|
|
22
|
+
expect(isPassthroughResponse(passthrough())).toBe(true)
|
|
23
|
+
expect(
|
|
24
|
+
isPassthroughResponse(
|
|
25
|
+
new Response(null, {
|
|
26
|
+
status: 302,
|
|
27
|
+
headers: {
|
|
28
|
+
[REQUEST_INTENTION_HEADER_NAME]: RequestIntention.passthrough,
|
|
29
|
+
},
|
|
30
|
+
}),
|
|
31
|
+
),
|
|
32
|
+
).toBe(true)
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
test('returns false for a regular response', () => {
|
|
36
|
+
expect(isPassthroughResponse(new Response(null))).toBe(false)
|
|
37
|
+
expect(isPassthroughResponse(new Response(null, { status: 302 }))).toBe(
|
|
38
|
+
false,
|
|
39
|
+
)
|
|
40
|
+
})
|
|
41
|
+
})
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { HttpResponse } from '#http/http-response'
|
|
2
|
+
|
|
3
|
+
export const REQUEST_INTENTION_HEADER_NAME = 'x-msw-intention'
|
|
4
|
+
|
|
5
|
+
export enum RequestIntention {
|
|
6
|
+
passthrough = 'passthrough',
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Performs the intercepted request as-is.
|
|
11
|
+
*
|
|
12
|
+
* This stops request handler lookup so no other handlers
|
|
13
|
+
* can affect this request past this point.
|
|
14
|
+
* Unlike `bypass()`, this will not trigger an additional request.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* http.get('/resource', () => {
|
|
18
|
+
* return passthrough()
|
|
19
|
+
* })
|
|
20
|
+
*
|
|
21
|
+
* @see {@link https://mswjs.io/docs/api/passthrough `passthrough()` API reference}
|
|
22
|
+
*/
|
|
23
|
+
export function passthrough(): HttpResponse<any> {
|
|
24
|
+
return new Response(null, {
|
|
25
|
+
status: 302,
|
|
26
|
+
statusText: 'Passthrough',
|
|
27
|
+
headers: {
|
|
28
|
+
[REQUEST_INTENTION_HEADER_NAME]: RequestIntention.passthrough,
|
|
29
|
+
},
|
|
30
|
+
}) as HttpResponse<any>
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Returns `true` if the given response was created by `passthrough()`.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* const response = passthrough()
|
|
38
|
+
* isPassthroughResponse(response) // true
|
|
39
|
+
*/
|
|
40
|
+
export function isPassthroughResponse(response: Response): boolean {
|
|
41
|
+
return (
|
|
42
|
+
response.status === 302 &&
|
|
43
|
+
response.headers.get(REQUEST_INTENTION_HEADER_NAME) ===
|
|
44
|
+
RequestIntention.passthrough
|
|
45
|
+
)
|
|
46
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
declare module 'virtual:msw' {
|
|
2
|
+
import type {
|
|
3
|
+
HttpNetworkFrame,
|
|
4
|
+
NetworkApi,
|
|
5
|
+
NetworkSource,
|
|
6
|
+
WebSocketNetworkFrame,
|
|
7
|
+
} from 'msw/experimental'
|
|
8
|
+
|
|
9
|
+
export const network: Omit<
|
|
10
|
+
NetworkApi<Array<NetworkSource<HttpNetworkFrame | WebSocketNetworkFrame>>>,
|
|
11
|
+
'enable' | 'disable'
|
|
12
|
+
> & {
|
|
13
|
+
enable(): void | Promise<void>
|
|
14
|
+
disable(): void | Promise<void>
|
|
15
|
+
}
|
|
16
|
+
}
|