msw 2.15.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -0
- package/cli/init.js +12 -9
- package/cli/invariant.js +2 -2
- package/lib/_chunks/attach-sibling-handlers.js +360 -0
- package/lib/_chunks/attach-sibling-handlers.js.map +1 -0
- package/lib/_chunks/colors.js +18 -0
- package/lib/_chunks/colors.js.map +1 -0
- package/lib/_chunks/cookie-store.js +348 -0
- package/lib/_chunks/cookie-store.js.map +1 -0
- package/lib/_chunks/execute-handlers.js +29 -0
- package/lib/_chunks/execute-handlers.js.map +1 -0
- package/lib/_chunks/handlers-controller.d.ts +262 -0
- package/lib/_chunks/has-ref-counted.js +9 -0
- package/lib/_chunks/has-ref-counted.js.map +1 -0
- package/lib/_chunks/http-handler.d.ts +72 -0
- package/lib/_chunks/http-handler.js +182 -0
- package/lib/_chunks/http-handler.js.map +1 -0
- package/lib/_chunks/http-response.js +137 -0
- package/lib/_chunks/http-response.js.map +1 -0
- package/lib/{core → _chunks}/http.d.ts +15 -18
- package/lib/_chunks/http.js +30 -0
- package/lib/_chunks/http.js.map +1 -0
- package/lib/_chunks/interceptor-source.d.ts +163 -0
- package/lib/_chunks/interceptor-source.js +756 -0
- package/lib/_chunks/interceptor-source.js.map +1 -0
- package/lib/_chunks/is-object.js +11 -0
- package/lib/_chunks/is-object.js.map +1 -0
- package/lib/_chunks/match-request-url.d.ts +14 -0
- package/lib/_chunks/request-handler.d.ts +295 -0
- package/lib/_chunks/request-handler.js +369 -0
- package/lib/_chunks/request-handler.js.map +1 -0
- package/lib/_chunks/shared-options.d.ts +20 -0
- package/lib/_chunks/sse.d.ts +95 -0
- package/lib/_chunks/sse.js +599 -0
- package/lib/_chunks/sse.js.map +1 -0
- package/lib/_chunks/symbols.js +22 -0
- package/lib/_chunks/symbols.js.map +1 -0
- package/lib/_chunks/websocket-upgrade.js +46 -0
- package/lib/_chunks/websocket-upgrade.js.map +1 -0
- package/lib/_chunks/ws.d.ts +133 -0
- package/lib/_chunks/ws.js +293 -0
- package/lib/_chunks/ws.js.map +1 -0
- package/lib/browser/index.d.ts +225 -96
- package/lib/browser/index.js +555 -3694
- package/lib/browser/index.js.map +1 -1
- package/lib/core/experimental/index.d.ts +3 -17
- package/lib/core/experimental/index.js +2 -38
- package/lib/core/index.d.ts +15 -27
- package/lib/core/index.js +15 -64
- package/lib/graphql/index.d.ts +550 -0
- package/lib/graphql/index.js +1244 -0
- package/lib/graphql/index.js.map +1 -0
- package/lib/http/index.d.ts +4 -0
- package/lib/http/index.js +4 -0
- package/lib/iife/index.js +35857 -28422
- package/lib/iife/index.js.map +1 -1
- package/lib/mockServiceWorker.js +185 -86
- package/lib/node/index.d.ts +79 -104
- package/lib/node/index.js +103 -201
- package/lib/node/index.js.map +1 -1
- package/lib/sse/index.d.ts +2 -0
- package/lib/sse/index.js +2 -0
- package/lib/{core → utils}/bypass.d.ts +5 -4
- package/lib/utils/bypass.js +41 -0
- package/lib/utils/bypass.js.map +1 -0
- package/lib/utils/delay.d.ts +15 -0
- package/lib/utils/delay.js +45 -0
- package/lib/utils/delay.js.map +1 -0
- package/lib/utils/get-clean-url-string.d.ts +9 -0
- package/lib/utils/get-clean-url-string.js +15 -0
- package/lib/utils/get-clean-url-string.js.map +1 -0
- package/lib/utils/get-response.d.ts +13 -0
- package/lib/utils/get-response.js +23 -0
- package/lib/utils/get-response.js.map +1 -0
- package/lib/utils/is-common-asset-request.d.ts +22 -0
- package/lib/utils/is-common-asset-request.js +31 -0
- package/lib/utils/is-common-asset-request.js.map +1 -0
- package/lib/utils/passthrough.d.ts +31 -0
- package/lib/utils/passthrough.js +41 -0
- package/lib/utils/passthrough.js.map +1 -0
- package/lib/vite/index.d.ts +44 -0
- package/lib/vite/index.js +90 -0
- package/lib/vite/index.js.map +1 -0
- package/lib/vite/runtime.d.ts +6 -0
- package/lib/vite/runtime.js +77 -0
- package/lib/vite/runtime.js.map +1 -0
- package/lib/ws/index.d.ts +4 -0
- package/lib/ws/index.js +4 -0
- package/package.json +93 -201
- package/src/browser/default-network-options.ts +31 -0
- package/src/browser/glossary.ts +11 -23
- package/src/browser/index.ts +5 -1
- package/src/browser/setup-worker.ts +15 -68
- package/src/browser/sources/fallback-http-source.ts +1 -1
- package/src/browser/sources/service-worker-source.ts +76 -69
- package/src/browser/tsconfig.browser.json +4 -2
- package/src/browser/utils/{deserializeRequest.ts → deserialize-request.ts} +3 -4
- package/src/browser/utils/{getAbsoluteWorkerUrl.test.ts → get-absolute-worker-url.test.ts} +3 -3
- package/src/browser/utils/get-worker-instance.ts +2 -2
- package/src/browser/utils/should-invalidate-worker.test.ts +11 -11
- package/src/browser/utils/should-invalidate-worker.ts +1 -1
- package/src/browser/utils/validate-worker-scope.ts +1 -1
- package/src/browser/utils/{workerChannel.ts → worker-channel.ts} +42 -20
- package/src/core/experimental/define-network.test.ts +43 -8
- package/src/core/experimental/define-network.ts +32 -13
- package/src/core/experimental/frames/http-frame.test.ts +15 -13
- package/src/core/experimental/frames/http-frame.ts +10 -9
- package/src/core/experimental/frames/websocket-frame.test.ts +129 -15
- package/src/core/experimental/frames/websocket-frame.ts +71 -20
- package/src/core/experimental/handlers-controller.test.ts +141 -34
- package/src/core/experimental/handlers-controller.ts +107 -30
- package/src/core/experimental/index.ts +1 -0
- package/src/core/experimental/on-unhandled-frame.test.ts +19 -19
- package/src/core/experimental/on-unhandled-frame.ts +7 -12
- package/src/core/experimental/request-utils.test.ts +4 -29
- package/src/core/experimental/request-utils.ts +0 -14
- package/src/core/experimental/sources/interceptor-source.ts +44 -29
- package/src/core/experimental/sources/network-source.test.ts +3 -3
- package/src/core/experimental/sources/network-source.ts +3 -3
- package/src/core/handlers/handler.ts +42 -0
- package/src/core/handlers/{RequestHandler.ts → request-handler.ts} +26 -41
- package/src/core/index.ts +35 -58
- package/src/core/shared-options.ts +21 -0
- package/src/core/type-utils.ts +18 -0
- package/src/core/utils/{cookieStore.ts → cookie-store.ts} +14 -9
- package/src/core/utils/{executeHandlers.ts → execute-handlers.ts} +2 -2
- package/src/core/utils/http-status-messages.ts +69 -0
- package/src/core/utils/internal/{attachSiblingHandlers.ts → attach-sibling-handlers.ts} +20 -0
- package/src/core/utils/internal/{devUtils.test.ts → dev-utils.test.ts} +3 -3
- package/src/core/utils/internal/{Disposable.ts → disposable.ts} +1 -1
- package/src/core/utils/internal/{getCallFrame.test.ts → get-call-frame.test.ts} +1 -1
- package/src/core/utils/internal/{getCallFrame.ts → get-call-frame.ts} +1 -1
- package/src/core/utils/internal/{hasRefCounted.test.ts → has-ref-counted.test.ts} +4 -4
- package/src/core/utils/internal/{hasRefCounted.ts → has-ref-counted.ts} +1 -1
- package/src/core/utils/internal/{isIterable.test.ts → is-iterable.test.ts} +1 -1
- package/src/core/utils/internal/is-iterable.ts +16 -0
- package/src/core/utils/internal/{isObject.test.ts → is-object.test.ts} +1 -1
- package/src/core/utils/internal/{isStringEqual.test.ts → is-string-equal.test.ts} +7 -7
- package/src/core/utils/internal/{jsonParse.test.ts → json-parse.test.ts} +1 -1
- package/src/core/utils/internal/observe-response-body-stream.test.ts +7 -7
- package/src/core/utils/internal/observe-response-body-stream.ts +3 -4
- package/src/core/utils/internal/{parseMultipartData.test.ts → parse-multipart-data.test.ts} +1 -1
- package/src/core/utils/internal/{parseMultipartData.ts → parse-multipart-data.ts} +1 -1
- package/src/core/utils/internal/{toReadonlyArray.test.ts → to-readonly-array.test.ts} +4 -4
- package/src/core/utils/logging/colors.ts +13 -0
- package/src/core/utils/logging/{getStatusCodeColor.test.ts → get-status-code-color.test.ts} +1 -1
- package/src/core/utils/logging/{getTimestamp.test.ts → get-timestamp.test.ts} +1 -1
- package/src/core/utils/logging/{serializeRequest.test.ts → serialize-request.test.ts} +1 -1
- package/src/core/utils/logging/{serializeResponse.test.ts → serialize-response.test.ts} +8 -10
- package/src/core/utils/logging/{serializeResponse.ts → serialize-response.ts} +2 -4
- package/src/core/utils/matching/match-request-url.test.ts +90 -0
- package/src/core/utils/matching/match-request-url.ts +45 -0
- package/src/core/utils/matching/{normalizePath.node.test.ts → normalize-path.node.test.ts} +2 -4
- package/src/core/utils/matching/{normalizePath.test.ts → normalize-path.test.ts} +2 -4
- package/src/core/utils/matching/{normalizePath.ts → normalize-path.ts} +8 -5
- package/src/core/utils/request/{getAllAcceptedMimeTypes.test.ts → get-all-accepted-mime-types.test.ts} +14 -14
- package/src/core/utils/request/get-request-cookies.ts +76 -0
- package/src/core/utils/request/store-response-cookies.ts +15 -0
- package/src/core/utils/request/{toPublicUrl.node.test.ts → to-public-url.node.test.ts} +1 -1
- package/src/core/utils/request/{toPublicUrl.test.ts → to-public-url.test.ts} +2 -2
- package/src/core/utils/{HttpResponse/decorators.ts → response-decorators.ts} +6 -8
- package/src/core/utils/url/{getAbsoluteUrl.node.test.ts → get-absolute-url.node.test.ts} +5 -7
- package/src/core/utils/url/{getAbsoluteUrl.test.ts → get-absolute-url.test.ts} +7 -7
- package/src/core/utils/url/{getAbsoluteUrl.ts → get-absolute-url.ts} +1 -1
- package/src/core/utils/url/is-absolute-url.test.ts +30 -0
- package/src/{core/handlers/GraphQLHandler.test.ts → graphql/graphql-handler.test.ts} +37 -36
- package/src/{core/handlers/GraphQLHandler.ts → graphql/graphql-handler.ts} +54 -41
- package/src/graphql/graphql-subscription-event.ts +39 -0
- package/src/graphql/graphql-subscription.test.ts +208 -0
- package/src/graphql/graphql-subscription.ts +1487 -0
- package/src/graphql/graphql.test.ts +14 -0
- package/src/graphql/graphql.ts +179 -0
- package/src/graphql/index.ts +34 -0
- package/src/{core/utils/internal/parseGraphQLRequest.test.ts → graphql/parse-graphql-request.test.ts} +47 -6
- package/src/{core/utils/internal/parseGraphQLRequest.ts → graphql/parse-graphql-request.ts} +59 -32
- package/src/{core/handlers/HttpHandler.test.ts → http/http-handler.test.ts} +22 -22
- package/src/{core/handlers/HttpHandler.ts → http/http-handler.ts} +16 -18
- package/src/{core/HttpResponse.test.ts → http/http-response.test.ts} +25 -27
- package/src/{core/HttpResponse.ts → http/http-response.ts} +15 -17
- package/src/{core → http}/http.ts +7 -7
- package/src/http/index.test.ts +19 -0
- package/src/http/index.ts +22 -0
- package/src/http/symbols.ts +19 -0
- package/src/iife/index.ts +2 -0
- package/src/mockServiceWorker.js +183 -84
- package/src/node/async-handlers-controller.test.ts +4 -4
- package/src/node/glossary.ts +8 -4
- package/src/node/index.ts +1 -6
- package/src/node/setup-server-common.ts +16 -73
- package/src/node/setup-server.ts +9 -40
- package/src/sse/index.test.ts +14 -0
- package/src/sse/index.ts +7 -0
- package/src/{core → sse}/sse.ts +25 -21
- package/src/tsconfig.core.build.json +5 -1
- package/src/tsconfig.core.json +8 -1
- package/src/tsconfig.node.json +1 -1
- package/src/tsconfig.src.json +1 -1
- package/src/{core → utils}/bypass.test.ts +22 -5
- package/src/{core → utils}/bypass.ts +11 -0
- package/src/{core → utils}/delay.ts +5 -5
- package/src/utils/get-clean-url-string.test.ts +24 -0
- package/src/utils/get-clean-url-string.ts +16 -0
- package/src/{core/getResponse.test.ts → utils/get-response.test.ts} +9 -9
- package/src/{core/getResponse.ts → utils/get-response.ts} +2 -2
- package/src/{core/isCommonAssetRequest.ts → utils/is-common-asset-request.ts} +4 -3
- package/src/utils/passthrough.test.ts +41 -0
- package/src/utils/passthrough.ts +46 -0
- package/src/vite/client.d.ts +16 -0
- package/src/vite/index.ts +4 -0
- package/src/vite/options.d.ts +5 -0
- package/src/vite/plugin.test.ts +918 -0
- package/src/vite/plugin.ts +133 -0
- package/src/vite/runtime.ts +117 -0
- package/src/vite/tsconfig.build.json +7 -0
- package/src/ws/index.ts +23 -0
- package/src/{core/ws/utils/attachWebSocketLogger.ts → ws/utils/attach-websocket-logger.ts} +45 -23
- package/src/{core/ws/utils/getMessageLength.test.ts → ws/utils/get-message-length.test.ts} +4 -4
- package/src/{core/ws/utils/getMessageLength.ts → ws/utils/get-message-length.ts} +1 -1
- package/src/{core/ws/utils/getPublicData.test.ts → ws/utils/get-public-data.test.ts} +7 -7
- package/src/ws/utils/get-public-data.ts +23 -0
- package/src/{core/ws/utils/truncateMessage.test.ts → ws/utils/truncate-message.test.ts} +3 -3
- package/src/{core/ws/WebSocketClientManager.test.ts → ws/websocket-client-manager.test.ts} +8 -9
- package/src/{core/ws/WebSocketClientManager.ts → ws/websocket-client-manager.ts} +24 -28
- package/src/{core/ws/WebSocketClientStore.ts → ws/websocket-client-store.ts} +2 -2
- package/src/{core/handlers/WebSocketHandler.test.ts → ws/websocket-handler.test.ts} +15 -15
- package/src/{core/handlers/WebSocketHandler.ts → ws/websocket-handler.ts} +144 -32
- package/src/{core/ws/WebSocketIndexedDBClientStore.ts → ws/websocket-indexeddb-client-store.ts} +12 -13
- package/src/{core/ws/WebSocketMemoryClientStore.ts → ws/websocket-memory-client-store.ts} +4 -4
- package/src/ws/websocket-upgrade.ts +83 -0
- package/src/{core → ws}/ws.test.ts +3 -4
- package/src/{core → ws}/ws.ts +106 -53
- package/browser/package.json +0 -31
- package/cli/package.json +0 -3
- package/config/package.json +0 -3
- package/config/scripts/postinstall.js +0 -36
- package/lib/browser/index.d.mts +0 -112
- package/lib/browser/index.mjs +0 -3706
- package/lib/browser/index.mjs.map +0 -1
- package/lib/core/HttpResponse-BE_Y2Ak9.d.mts +0 -389
- package/lib/core/HttpResponse-DL-P1EeG.d.ts +0 -389
- package/lib/core/HttpResponse.d.mts +0 -6
- package/lib/core/HttpResponse.d.ts +0 -6
- package/lib/core/HttpResponse.js +0 -176
- package/lib/core/HttpResponse.js.map +0 -1
- package/lib/core/HttpResponse.mjs +0 -159
- package/lib/core/HttpResponse.mjs.map +0 -1
- package/lib/core/bypass.d.mts +0 -16
- package/lib/core/bypass.js +0 -42
- package/lib/core/bypass.js.map +0 -1
- package/lib/core/bypass.mjs +0 -22
- package/lib/core/bypass.mjs.map +0 -1
- package/lib/core/delay.d.mts +0 -18
- package/lib/core/delay.d.ts +0 -18
- package/lib/core/delay.js +0 -77
- package/lib/core/delay.js.map +0 -1
- package/lib/core/delay.mjs +0 -57
- package/lib/core/delay.mjs.map +0 -1
- package/lib/core/experimental/compat.d.mts +0 -17
- package/lib/core/experimental/compat.d.ts +0 -17
- package/lib/core/experimental/compat.js +0 -55
- package/lib/core/experimental/compat.js.map +0 -1
- package/lib/core/experimental/compat.mjs +0 -37
- package/lib/core/experimental/compat.mjs.map +0 -1
- package/lib/core/experimental/define-network.d.mts +0 -75
- package/lib/core/experimental/define-network.d.ts +0 -75
- package/lib/core/experimental/define-network.js +0 -134
- package/lib/core/experimental/define-network.js.map +0 -1
- package/lib/core/experimental/define-network.mjs +0 -119
- package/lib/core/experimental/define-network.mjs.map +0 -1
- package/lib/core/experimental/frames/http-frame.d.mts +0 -77
- package/lib/core/experimental/frames/http-frame.d.ts +0 -77
- package/lib/core/experimental/frames/http-frame.js +0 -197
- package/lib/core/experimental/frames/http-frame.js.map +0 -1
- package/lib/core/experimental/frames/http-frame.mjs +0 -181
- package/lib/core/experimental/frames/http-frame.mjs.map +0 -1
- package/lib/core/experimental/frames/network-frame.d.mts +0 -12
- package/lib/core/experimental/frames/network-frame.d.ts +0 -12
- package/lib/core/experimental/frames/network-frame.js +0 -35
- package/lib/core/experimental/frames/network-frame.js.map +0 -1
- package/lib/core/experimental/frames/network-frame.mjs +0 -15
- package/lib/core/experimental/frames/network-frame.mjs.map +0 -1
- package/lib/core/experimental/frames/websocket-frame.d.mts +0 -55
- package/lib/core/experimental/frames/websocket-frame.d.ts +0 -55
- package/lib/core/experimental/frames/websocket-frame.js +0 -131
- package/lib/core/experimental/frames/websocket-frame.js.map +0 -1
- package/lib/core/experimental/frames/websocket-frame.mjs +0 -118
- package/lib/core/experimental/frames/websocket-frame.mjs.map +0 -1
- package/lib/core/experimental/handlers-controller.d.mts +0 -36
- package/lib/core/experimental/handlers-controller.d.ts +0 -36
- package/lib/core/experimental/handlers-controller.js +0 -146
- package/lib/core/experimental/handlers-controller.js.map +0 -1
- package/lib/core/experimental/handlers-controller.mjs +0 -126
- package/lib/core/experimental/handlers-controller.mjs.map +0 -1
- package/lib/core/experimental/index.d.mts +0 -17
- package/lib/core/experimental/index.js.map +0 -1
- package/lib/core/experimental/index.mjs +0 -27
- package/lib/core/experimental/index.mjs.map +0 -1
- package/lib/core/experimental/on-unhandled-frame.d.mts +0 -12
- package/lib/core/experimental/on-unhandled-frame.d.ts +0 -12
- package/lib/core/experimental/on-unhandled-frame.js +0 -91
- package/lib/core/experimental/on-unhandled-frame.js.map +0 -1
- package/lib/core/experimental/on-unhandled-frame.mjs +0 -71
- package/lib/core/experimental/on-unhandled-frame.mjs.map +0 -1
- package/lib/core/experimental/request-utils.d.mts +0 -12
- package/lib/core/experimental/request-utils.d.ts +0 -12
- package/lib/core/experimental/request-utils.js +0 -50
- package/lib/core/experimental/request-utils.js.map +0 -1
- package/lib/core/experimental/request-utils.mjs +0 -30
- package/lib/core/experimental/request-utils.mjs.map +0 -1
- package/lib/core/experimental/setup-api.d.mts +0 -33
- package/lib/core/experimental/setup-api.d.ts +0 -33
- package/lib/core/experimental/setup-api.js +0 -58
- package/lib/core/experimental/setup-api.js.map +0 -1
- package/lib/core/experimental/setup-api.mjs +0 -40
- package/lib/core/experimental/setup-api.mjs.map +0 -1
- package/lib/core/experimental/sources/interceptor-source.d.mts +0 -28
- package/lib/core/experimental/sources/interceptor-source.d.ts +0 -28
- package/lib/core/experimental/sources/interceptor-source.js +0 -155
- package/lib/core/experimental/sources/interceptor-source.js.map +0 -1
- package/lib/core/experimental/sources/interceptor-source.mjs +0 -135
- package/lib/core/experimental/sources/interceptor-source.mjs.map +0 -1
- package/lib/core/experimental/sources/network-source.d.mts +0 -31
- package/lib/core/experimental/sources/network-source.d.ts +0 -31
- package/lib/core/experimental/sources/network-source.js +0 -51
- package/lib/core/experimental/sources/network-source.js.map +0 -1
- package/lib/core/experimental/sources/network-source.mjs +0 -32
- package/lib/core/experimental/sources/network-source.mjs.map +0 -1
- package/lib/core/getResponse.d.mts +0 -18
- package/lib/core/getResponse.d.ts +0 -18
- package/lib/core/getResponse.js +0 -35
- package/lib/core/getResponse.js.map +0 -1
- package/lib/core/getResponse.mjs +0 -17
- package/lib/core/getResponse.mjs.map +0 -1
- package/lib/core/graphql.d.mts +0 -76
- package/lib/core/graphql.d.ts +0 -76
- package/lib/core/graphql.js +0 -91
- package/lib/core/graphql.js.map +0 -1
- package/lib/core/graphql.mjs +0 -74
- package/lib/core/graphql.mjs.map +0 -1
- package/lib/core/handlers/GraphQLHandler.d.mts +0 -6
- package/lib/core/handlers/GraphQLHandler.d.ts +0 -6
- package/lib/core/handlers/GraphQLHandler.js +0 -232
- package/lib/core/handlers/GraphQLHandler.js.map +0 -1
- package/lib/core/handlers/GraphQLHandler.mjs +0 -221
- package/lib/core/handlers/GraphQLHandler.mjs.map +0 -1
- package/lib/core/handlers/HttpHandler.d.mts +0 -75
- package/lib/core/handlers/HttpHandler.d.ts +0 -75
- package/lib/core/handlers/HttpHandler.js +0 -129
- package/lib/core/handlers/HttpHandler.js.map +0 -1
- package/lib/core/handlers/HttpHandler.mjs +0 -113
- package/lib/core/handlers/HttpHandler.mjs.map +0 -1
- package/lib/core/handlers/RequestHandler.d.mts +0 -6
- package/lib/core/handlers/RequestHandler.d.ts +0 -6
- package/lib/core/handlers/RequestHandler.js +0 -365
- package/lib/core/handlers/RequestHandler.js.map +0 -1
- package/lib/core/handlers/RequestHandler.mjs +0 -348
- package/lib/core/handlers/RequestHandler.mjs.map +0 -1
- package/lib/core/handlers/WebSocketHandler.d.mts +0 -49
- package/lib/core/handlers/WebSocketHandler.d.ts +0 -49
- package/lib/core/handlers/WebSocketHandler.js +0 -178
- package/lib/core/handlers/WebSocketHandler.js.map +0 -1
- package/lib/core/handlers/WebSocketHandler.mjs +0 -160
- package/lib/core/handlers/WebSocketHandler.mjs.map +0 -1
- package/lib/core/http.d.mts +0 -31
- package/lib/core/http.js +0 -41
- package/lib/core/http.js.map +0 -1
- package/lib/core/http.mjs +0 -25
- package/lib/core/http.mjs.map +0 -1
- package/lib/core/index.d.mts +0 -27
- package/lib/core/index.js.map +0 -1
- package/lib/core/index.mjs +0 -52
- package/lib/core/index.mjs.map +0 -1
- package/lib/core/isCommonAssetRequest.d.mts +0 -20
- package/lib/core/isCommonAssetRequest.d.ts +0 -20
- package/lib/core/isCommonAssetRequest.js +0 -42
- package/lib/core/isCommonAssetRequest.js.map +0 -1
- package/lib/core/isCommonAssetRequest.mjs +0 -22
- package/lib/core/isCommonAssetRequest.mjs.map +0 -1
- package/lib/core/on-unhandled-frame-0KmwUmeV.d.ts +0 -56
- package/lib/core/on-unhandled-frame-gkokW4Rr.d.mts +0 -56
- package/lib/core/passthrough.d.mts +0 -24
- package/lib/core/passthrough.d.ts +0 -24
- package/lib/core/passthrough.js +0 -33
- package/lib/core/passthrough.js.map +0 -1
- package/lib/core/passthrough.mjs +0 -13
- package/lib/core/passthrough.mjs.map +0 -1
- package/lib/core/sharedOptions.d.mts +0 -68
- package/lib/core/sharedOptions.d.ts +0 -68
- package/lib/core/sharedOptions.js +0 -17
- package/lib/core/sharedOptions.js.map +0 -1
- package/lib/core/sharedOptions.mjs +0 -1
- package/lib/core/sharedOptions.mjs.map +0 -1
- package/lib/core/sse.d.mts +0 -102
- package/lib/core/sse.d.ts +0 -102
- package/lib/core/sse.js +0 -690
- package/lib/core/sse.js.map +0 -1
- package/lib/core/sse.mjs +0 -672
- package/lib/core/sse.mjs.map +0 -1
- package/lib/core/typeUtils.d.mts +0 -12
- package/lib/core/typeUtils.d.ts +0 -12
- package/lib/core/typeUtils.js +0 -17
- package/lib/core/typeUtils.js.map +0 -1
- package/lib/core/typeUtils.mjs +0 -1
- package/lib/core/typeUtils.mjs.map +0 -1
- package/lib/core/utils/HttpResponse/decorators.d.mts +0 -22
- package/lib/core/utils/HttpResponse/decorators.d.ts +0 -22
- package/lib/core/utils/HttpResponse/decorators.js +0 -84
- package/lib/core/utils/HttpResponse/decorators.js.map +0 -1
- package/lib/core/utils/HttpResponse/decorators.mjs +0 -54
- package/lib/core/utils/HttpResponse/decorators.mjs.map +0 -1
- package/lib/core/utils/cookieStore.d.mts +0 -13
- package/lib/core/utils/cookieStore.d.ts +0 -13
- package/lib/core/utils/cookieStore.js +0 -90
- package/lib/core/utils/cookieStore.js.map +0 -1
- package/lib/core/utils/cookieStore.mjs +0 -74
- package/lib/core/utils/cookieStore.mjs.map +0 -1
- package/lib/core/utils/executeHandlers.d.mts +0 -6
- package/lib/core/utils/executeHandlers.d.ts +0 -6
- package/lib/core/utils/executeHandlers.js +0 -51
- package/lib/core/utils/executeHandlers.js.map +0 -1
- package/lib/core/utils/executeHandlers.mjs +0 -31
- package/lib/core/utils/executeHandlers.mjs.map +0 -1
- package/lib/core/utils/handleRequest.d.mts +0 -30
- package/lib/core/utils/handleRequest.d.ts +0 -30
- package/lib/core/utils/handleRequest.js +0 -76
- package/lib/core/utils/handleRequest.js.map +0 -1
- package/lib/core/utils/handleRequest.mjs +0 -58
- package/lib/core/utils/handleRequest.mjs.map +0 -1
- package/lib/core/utils/internal/Disposable.d.mts +0 -7
- package/lib/core/utils/internal/Disposable.d.ts +0 -7
- package/lib/core/utils/internal/Disposable.js +0 -51
- package/lib/core/utils/internal/Disposable.js.map +0 -1
- package/lib/core/utils/internal/Disposable.mjs +0 -31
- package/lib/core/utils/internal/Disposable.mjs.map +0 -1
- package/lib/core/utils/internal/attachSiblingHandlers.d.mts +0 -15
- package/lib/core/utils/internal/attachSiblingHandlers.d.ts +0 -15
- package/lib/core/utils/internal/attachSiblingHandlers.js +0 -44
- package/lib/core/utils/internal/attachSiblingHandlers.js.map +0 -1
- package/lib/core/utils/internal/attachSiblingHandlers.mjs +0 -24
- package/lib/core/utils/internal/attachSiblingHandlers.mjs.map +0 -1
- package/lib/core/utils/internal/checkGlobals.d.mts +0 -3
- package/lib/core/utils/internal/checkGlobals.d.ts +0 -3
- package/lib/core/utils/internal/checkGlobals.js +0 -34
- package/lib/core/utils/internal/checkGlobals.js.map +0 -1
- package/lib/core/utils/internal/checkGlobals.mjs +0 -14
- package/lib/core/utils/internal/checkGlobals.mjs.map +0 -1
- package/lib/core/utils/internal/devUtils.d.mts +0 -28
- package/lib/core/utils/internal/devUtils.d.ts +0 -28
- package/lib/core/utils/internal/devUtils.js +0 -48
- package/lib/core/utils/internal/devUtils.js.map +0 -1
- package/lib/core/utils/internal/devUtils.mjs +0 -28
- package/lib/core/utils/internal/devUtils.mjs.map +0 -1
- package/lib/core/utils/internal/getCallFrame.d.mts +0 -6
- package/lib/core/utils/internal/getCallFrame.d.ts +0 -6
- package/lib/core/utils/internal/getCallFrame.js +0 -41
- package/lib/core/utils/internal/getCallFrame.js.map +0 -1
- package/lib/core/utils/internal/getCallFrame.mjs +0 -21
- package/lib/core/utils/internal/getCallFrame.mjs.map +0 -1
- package/lib/core/utils/internal/hasRefCounted.d.mts +0 -3
- package/lib/core/utils/internal/hasRefCounted.d.ts +0 -3
- package/lib/core/utils/internal/hasRefCounted.js +0 -34
- package/lib/core/utils/internal/hasRefCounted.js.map +0 -1
- package/lib/core/utils/internal/hasRefCounted.mjs +0 -14
- package/lib/core/utils/internal/hasRefCounted.mjs.map +0 -1
- package/lib/core/utils/internal/isHandlerKind.d.mts +0 -19
- package/lib/core/utils/internal/isHandlerKind.d.ts +0 -19
- package/lib/core/utils/internal/isHandlerKind.js +0 -30
- package/lib/core/utils/internal/isHandlerKind.js.map +0 -1
- package/lib/core/utils/internal/isHandlerKind.mjs +0 -10
- package/lib/core/utils/internal/isHandlerKind.mjs.map +0 -1
- package/lib/core/utils/internal/isIterable.d.mts +0 -20
- package/lib/core/utils/internal/isIterable.d.ts +0 -20
- package/lib/core/utils/internal/isIterable.js +0 -30
- package/lib/core/utils/internal/isIterable.js.map +0 -1
- package/lib/core/utils/internal/isIterable.mjs +0 -10
- package/lib/core/utils/internal/isIterable.mjs.map +0 -1
- package/lib/core/utils/internal/isObject.d.mts +0 -6
- package/lib/core/utils/internal/isObject.d.ts +0 -6
- package/lib/core/utils/internal/isObject.js +0 -27
- package/lib/core/utils/internal/isObject.js.map +0 -1
- package/lib/core/utils/internal/isObject.mjs +0 -7
- package/lib/core/utils/internal/isObject.mjs.map +0 -1
- package/lib/core/utils/internal/isStringEqual.d.mts +0 -6
- package/lib/core/utils/internal/isStringEqual.d.ts +0 -6
- package/lib/core/utils/internal/isStringEqual.js +0 -27
- package/lib/core/utils/internal/isStringEqual.js.map +0 -1
- package/lib/core/utils/internal/isStringEqual.mjs +0 -7
- package/lib/core/utils/internal/isStringEqual.mjs.map +0 -1
- package/lib/core/utils/internal/jsonParse.d.mts +0 -7
- package/lib/core/utils/internal/jsonParse.d.ts +0 -7
- package/lib/core/utils/internal/jsonParse.js +0 -31
- package/lib/core/utils/internal/jsonParse.js.map +0 -1
- package/lib/core/utils/internal/jsonParse.mjs +0 -11
- package/lib/core/utils/internal/jsonParse.mjs.map +0 -1
- package/lib/core/utils/internal/mergeRight.d.mts +0 -7
- package/lib/core/utils/internal/mergeRight.d.ts +0 -7
- package/lib/core/utils/internal/mergeRight.js +0 -43
- package/lib/core/utils/internal/mergeRight.js.map +0 -1
- package/lib/core/utils/internal/mergeRight.mjs +0 -23
- package/lib/core/utils/internal/mergeRight.mjs.map +0 -1
- package/lib/core/utils/internal/observe-response-body-stream.d.mts +0 -18
- package/lib/core/utils/internal/observe-response-body-stream.d.ts +0 -18
- package/lib/core/utils/internal/observe-response-body-stream.js +0 -64
- package/lib/core/utils/internal/observe-response-body-stream.js.map +0 -1
- package/lib/core/utils/internal/observe-response-body-stream.mjs +0 -44
- package/lib/core/utils/internal/observe-response-body-stream.mjs.map +0 -1
- package/lib/core/utils/internal/parseGraphQLRequest.d.mts +0 -6
- package/lib/core/utils/internal/parseGraphQLRequest.d.ts +0 -6
- package/lib/core/utils/internal/parseGraphQLRequest.js +0 -146
- package/lib/core/utils/internal/parseGraphQLRequest.js.map +0 -1
- package/lib/core/utils/internal/parseGraphQLRequest.mjs +0 -129
- package/lib/core/utils/internal/parseGraphQLRequest.mjs.map +0 -1
- package/lib/core/utils/internal/parseMultipartData.d.mts +0 -14
- package/lib/core/utils/internal/parseMultipartData.d.ts +0 -14
- package/lib/core/utils/internal/parseMultipartData.js +0 -84
- package/lib/core/utils/internal/parseMultipartData.js.map +0 -1
- package/lib/core/utils/internal/parseMultipartData.mjs +0 -64
- package/lib/core/utils/internal/parseMultipartData.mjs.map +0 -1
- package/lib/core/utils/internal/pipeEvents.d.mts +0 -8
- package/lib/core/utils/internal/pipeEvents.d.ts +0 -8
- package/lib/core/utils/internal/pipeEvents.js +0 -37
- package/lib/core/utils/internal/pipeEvents.js.map +0 -1
- package/lib/core/utils/internal/pipeEvents.mjs +0 -17
- package/lib/core/utils/internal/pipeEvents.mjs.map +0 -1
- package/lib/core/utils/internal/toReadonlyArray.d.mts +0 -6
- package/lib/core/utils/internal/toReadonlyArray.d.ts +0 -6
- package/lib/core/utils/internal/toReadonlyArray.js +0 -29
- package/lib/core/utils/internal/toReadonlyArray.js.map +0 -1
- package/lib/core/utils/internal/toReadonlyArray.mjs +0 -9
- package/lib/core/utils/internal/toReadonlyArray.mjs.map +0 -1
- package/lib/core/utils/internal/tryCatch.d.mts +0 -3
- package/lib/core/utils/internal/tryCatch.d.ts +0 -3
- package/lib/core/utils/internal/tryCatch.js +0 -32
- package/lib/core/utils/internal/tryCatch.js.map +0 -1
- package/lib/core/utils/internal/tryCatch.mjs +0 -12
- package/lib/core/utils/internal/tryCatch.mjs.map +0 -1
- package/lib/core/utils/logging/getStatusCodeColor.d.mts +0 -11
- package/lib/core/utils/logging/getStatusCodeColor.d.ts +0 -11
- package/lib/core/utils/logging/getStatusCodeColor.js +0 -40
- package/lib/core/utils/logging/getStatusCodeColor.js.map +0 -1
- package/lib/core/utils/logging/getStatusCodeColor.mjs +0 -20
- package/lib/core/utils/logging/getStatusCodeColor.mjs.map +0 -1
- package/lib/core/utils/logging/getTimestamp.d.mts +0 -9
- package/lib/core/utils/logging/getTimestamp.d.ts +0 -9
- package/lib/core/utils/logging/getTimestamp.js +0 -32
- package/lib/core/utils/logging/getTimestamp.js.map +0 -1
- package/lib/core/utils/logging/getTimestamp.mjs +0 -12
- package/lib/core/utils/logging/getTimestamp.mjs.map +0 -1
- package/lib/core/utils/logging/serializeRequest.d.mts +0 -12
- package/lib/core/utils/logging/serializeRequest.d.ts +0 -12
- package/lib/core/utils/logging/serializeRequest.js +0 -34
- package/lib/core/utils/logging/serializeRequest.js.map +0 -1
- package/lib/core/utils/logging/serializeRequest.mjs +0 -14
- package/lib/core/utils/logging/serializeRequest.mjs.map +0 -1
- package/lib/core/utils/logging/serializeResponse.d.mts +0 -9
- package/lib/core/utils/logging/serializeResponse.d.ts +0 -9
- package/lib/core/utils/logging/serializeResponse.js +0 -48
- package/lib/core/utils/logging/serializeResponse.js.map +0 -1
- package/lib/core/utils/logging/serializeResponse.mjs +0 -18
- package/lib/core/utils/logging/serializeResponse.mjs.map +0 -1
- package/lib/core/utils/matching/matchRequestUrl.d.mts +0 -20
- package/lib/core/utils/matching/matchRequestUrl.d.ts +0 -20
- package/lib/core/utils/matching/matchRequestUrl.js +0 -55
- package/lib/core/utils/matching/matchRequestUrl.js.map +0 -1
- package/lib/core/utils/matching/matchRequestUrl.mjs +0 -35
- package/lib/core/utils/matching/matchRequestUrl.mjs.map +0 -1
- package/lib/core/utils/matching/normalizePath.d.mts +0 -13
- package/lib/core/utils/matching/normalizePath.d.ts +0 -13
- package/lib/core/utils/matching/normalizePath.js +0 -33
- package/lib/core/utils/matching/normalizePath.js.map +0 -1
- package/lib/core/utils/matching/normalizePath.mjs +0 -13
- package/lib/core/utils/matching/normalizePath.mjs.map +0 -1
- package/lib/core/utils/request/getAllAcceptedMimeTypes.d.mts +0 -14
- package/lib/core/utils/request/getAllAcceptedMimeTypes.d.ts +0 -14
- package/lib/core/utils/request/getAllAcceptedMimeTypes.js +0 -61
- package/lib/core/utils/request/getAllAcceptedMimeTypes.js.map +0 -1
- package/lib/core/utils/request/getAllAcceptedMimeTypes.mjs +0 -41
- package/lib/core/utils/request/getAllAcceptedMimeTypes.mjs.map +0 -1
- package/lib/core/utils/request/getRequestCookies.d.mts +0 -3
- package/lib/core/utils/request/getRequestCookies.d.ts +0 -3
- package/lib/core/utils/request/getRequestCookies.js +0 -79
- package/lib/core/utils/request/getRequestCookies.js.map +0 -1
- package/lib/core/utils/request/getRequestCookies.mjs +0 -62
- package/lib/core/utils/request/getRequestCookies.mjs.map +0 -1
- package/lib/core/utils/request/onUnhandledRequest.d.mts +0 -9
- package/lib/core/utils/request/onUnhandledRequest.d.ts +0 -9
- package/lib/core/utils/request/onUnhandledRequest.js +0 -76
- package/lib/core/utils/request/onUnhandledRequest.js.map +0 -1
- package/lib/core/utils/request/onUnhandledRequest.mjs +0 -56
- package/lib/core/utils/request/onUnhandledRequest.mjs.map +0 -1
- package/lib/core/utils/request/storeResponseCookies.d.mts +0 -3
- package/lib/core/utils/request/storeResponseCookies.d.ts +0 -3
- package/lib/core/utils/request/storeResponseCookies.js +0 -32
- package/lib/core/utils/request/storeResponseCookies.js.map +0 -1
- package/lib/core/utils/request/storeResponseCookies.mjs +0 -12
- package/lib/core/utils/request/storeResponseCookies.mjs.map +0 -1
- package/lib/core/utils/request/toPublicUrl.d.mts +0 -7
- package/lib/core/utils/request/toPublicUrl.d.ts +0 -7
- package/lib/core/utils/request/toPublicUrl.js +0 -31
- package/lib/core/utils/request/toPublicUrl.js.map +0 -1
- package/lib/core/utils/request/toPublicUrl.mjs +0 -11
- package/lib/core/utils/request/toPublicUrl.mjs.map +0 -1
- package/lib/core/utils/toResponseInit.d.mts +0 -3
- package/lib/core/utils/toResponseInit.d.ts +0 -3
- package/lib/core/utils/toResponseInit.js +0 -31
- package/lib/core/utils/toResponseInit.js.map +0 -1
- package/lib/core/utils/toResponseInit.mjs +0 -11
- package/lib/core/utils/toResponseInit.mjs.map +0 -1
- package/lib/core/utils/url/cleanUrl.d.mts +0 -7
- package/lib/core/utils/url/cleanUrl.d.ts +0 -7
- package/lib/core/utils/url/cleanUrl.js +0 -31
- package/lib/core/utils/url/cleanUrl.js.map +0 -1
- package/lib/core/utils/url/cleanUrl.mjs +0 -11
- package/lib/core/utils/url/cleanUrl.mjs.map +0 -1
- package/lib/core/utils/url/getAbsoluteUrl.d.mts +0 -6
- package/lib/core/utils/url/getAbsoluteUrl.d.ts +0 -6
- package/lib/core/utils/url/getAbsoluteUrl.js +0 -38
- package/lib/core/utils/url/getAbsoluteUrl.js.map +0 -1
- package/lib/core/utils/url/getAbsoluteUrl.mjs +0 -18
- package/lib/core/utils/url/getAbsoluteUrl.mjs.map +0 -1
- package/lib/core/utils/url/isAbsoluteUrl.d.mts +0 -6
- package/lib/core/utils/url/isAbsoluteUrl.d.ts +0 -6
- package/lib/core/utils/url/isAbsoluteUrl.js +0 -27
- package/lib/core/utils/url/isAbsoluteUrl.js.map +0 -1
- package/lib/core/utils/url/isAbsoluteUrl.mjs +0 -7
- package/lib/core/utils/url/isAbsoluteUrl.mjs.map +0 -1
- package/lib/core/ws/WebSocketClientManager.d.mts +0 -65
- package/lib/core/ws/WebSocketClientManager.d.ts +0 -65
- package/lib/core/ws/WebSocketClientManager.js +0 -163
- package/lib/core/ws/WebSocketClientManager.js.map +0 -1
- package/lib/core/ws/WebSocketClientManager.mjs +0 -143
- package/lib/core/ws/WebSocketClientManager.mjs.map +0 -1
- package/lib/core/ws/WebSocketClientStore.d.mts +0 -13
- package/lib/core/ws/WebSocketClientStore.d.ts +0 -13
- package/lib/core/ws/WebSocketClientStore.js +0 -26
- package/lib/core/ws/WebSocketClientStore.js.map +0 -1
- package/lib/core/ws/WebSocketClientStore.mjs +0 -6
- package/lib/core/ws/WebSocketClientStore.mjs.map +0 -1
- package/lib/core/ws/WebSocketIndexedDBClientStore.d.mts +0 -14
- package/lib/core/ws/WebSocketIndexedDBClientStore.d.ts +0 -14
- package/lib/core/ws/WebSocketIndexedDBClientStore.js +0 -131
- package/lib/core/ws/WebSocketIndexedDBClientStore.js.map +0 -1
- package/lib/core/ws/WebSocketIndexedDBClientStore.mjs +0 -111
- package/lib/core/ws/WebSocketIndexedDBClientStore.mjs.map +0 -1
- package/lib/core/ws/WebSocketMemoryClientStore.d.mts +0 -12
- package/lib/core/ws/WebSocketMemoryClientStore.d.ts +0 -12
- package/lib/core/ws/WebSocketMemoryClientStore.js +0 -42
- package/lib/core/ws/WebSocketMemoryClientStore.js.map +0 -1
- package/lib/core/ws/WebSocketMemoryClientStore.mjs +0 -22
- package/lib/core/ws/WebSocketMemoryClientStore.mjs.map +0 -1
- package/lib/core/ws/handleWebSocketEvent.d.mts +0 -20
- package/lib/core/ws/handleWebSocketEvent.d.ts +0 -20
- package/lib/core/ws/handleWebSocketEvent.js +0 -61
- package/lib/core/ws/handleWebSocketEvent.js.map +0 -1
- package/lib/core/ws/handleWebSocketEvent.mjs +0 -43
- package/lib/core/ws/handleWebSocketEvent.mjs.map +0 -1
- package/lib/core/ws/utils/attachWebSocketLogger.d.mts +0 -18
- package/lib/core/ws/utils/attachWebSocketLogger.d.ts +0 -18
- package/lib/core/ws/utils/attachWebSocketLogger.js +0 -228
- package/lib/core/ws/utils/attachWebSocketLogger.js.map +0 -1
- package/lib/core/ws/utils/attachWebSocketLogger.mjs +0 -208
- package/lib/core/ws/utils/attachWebSocketLogger.mjs.map +0 -1
- package/lib/core/ws/utils/getMessageLength.d.mts +0 -11
- package/lib/core/ws/utils/getMessageLength.d.ts +0 -11
- package/lib/core/ws/utils/getMessageLength.js +0 -34
- package/lib/core/ws/utils/getMessageLength.js.map +0 -1
- package/lib/core/ws/utils/getMessageLength.mjs +0 -14
- package/lib/core/ws/utils/getMessageLength.mjs.map +0 -1
- package/lib/core/ws/utils/getPublicData.d.mts +0 -5
- package/lib/core/ws/utils/getPublicData.d.ts +0 -5
- package/lib/core/ws/utils/getPublicData.js +0 -37
- package/lib/core/ws/utils/getPublicData.js.map +0 -1
- package/lib/core/ws/utils/getPublicData.mjs +0 -17
- package/lib/core/ws/utils/getPublicData.mjs.map +0 -1
- package/lib/core/ws/utils/truncateMessage.d.mts +0 -3
- package/lib/core/ws/utils/truncateMessage.d.ts +0 -3
- package/lib/core/ws/utils/truncateMessage.js +0 -31
- package/lib/core/ws/utils/truncateMessage.js.map +0 -1
- package/lib/core/ws/utils/truncateMessage.mjs +0 -11
- package/lib/core/ws/utils/truncateMessage.mjs.map +0 -1
- package/lib/core/ws/webSocketInterceptor.d.mts +0 -5
- package/lib/core/ws/webSocketInterceptor.d.ts +0 -5
- package/lib/core/ws/webSocketInterceptor.js +0 -26
- package/lib/core/ws/webSocketInterceptor.js.map +0 -1
- package/lib/core/ws/webSocketInterceptor.mjs +0 -6
- package/lib/core/ws/webSocketInterceptor.mjs.map +0 -1
- package/lib/core/ws.d.mts +0 -88
- package/lib/core/ws.d.ts +0 -88
- package/lib/core/ws.js +0 -94
- package/lib/core/ws.js.map +0 -1
- package/lib/core/ws.mjs +0 -80
- package/lib/core/ws.mjs.map +0 -1
- package/lib/native/index.d.mts +0 -66
- package/lib/native/index.d.ts +0 -66
- package/lib/native/index.js +0 -88
- package/lib/native/index.js.map +0 -1
- package/lib/native/index.mjs +0 -67
- package/lib/native/index.mjs.map +0 -1
- package/lib/node/index.d.mts +0 -113
- package/lib/node/index.mjs +0 -185
- package/lib/node/index.mjs.map +0 -1
- package/lib/shims/cookie.d.mts +0 -7
- package/lib/shims/cookie.d.ts +0 -7
- package/lib/shims/cookie.js +0 -294
- package/lib/shims/cookie.mjs +0 -286
- package/lib/shims/statuses.d.mts +0 -6
- package/lib/shims/statuses.d.ts +0 -6
- package/lib/shims/statuses.js +0 -195
- package/lib/shims/statuses.mjs +0 -187
- package/native/package.json +0 -30
- package/node/package.json +0 -33
- package/src/browser/utils/pruneGetRequestBody.test.ts +0 -51
- package/src/browser/utils/pruneGetRequestBody.ts +0 -21
- package/src/core/experimental/compat.ts +0 -50
- package/src/core/experimental/setup-api.ts +0 -55
- package/src/core/graphql.test.ts +0 -11
- package/src/core/graphql.ts +0 -136
- package/src/core/passthrough.test.ts +0 -11
- package/src/core/passthrough.ts +0 -25
- package/src/core/sharedOptions.ts +0 -71
- package/src/core/typeUtils.ts +0 -26
- package/src/core/utils/handleRequest.test.ts +0 -574
- package/src/core/utils/handleRequest.ts +0 -117
- package/src/core/utils/internal/checkGlobals.ts +0 -17
- package/src/core/utils/internal/isHandlerKind.test.ts +0 -62
- package/src/core/utils/internal/isHandlerKind.ts +0 -17
- package/src/core/utils/internal/isIterable.ts +0 -32
- package/src/core/utils/internal/mergeRight.test.ts +0 -43
- package/src/core/utils/internal/mergeRight.ts +0 -30
- package/src/core/utils/internal/pipeEvents.test.ts +0 -14
- package/src/core/utils/internal/pipeEvents.ts +0 -26
- package/src/core/utils/internal/tryCatch.test.ts +0 -29
- package/src/core/utils/internal/tryCatch.ts +0 -11
- package/src/core/utils/matching/matchRequestUrl.test.ts +0 -267
- package/src/core/utils/matching/matchRequestUrl.ts +0 -77
- package/src/core/utils/request/getRequestCookies.ts +0 -88
- package/src/core/utils/request/onUnhandledRequest.node.test.ts +0 -62
- package/src/core/utils/request/onUnhandledRequest.test.ts +0 -226
- package/src/core/utils/request/onUnhandledRequest.ts +0 -81
- package/src/core/utils/request/storeResponseCookies.ts +0 -15
- package/src/core/utils/url/cleanUrl.test.ts +0 -22
- package/src/core/utils/url/cleanUrl.ts +0 -16
- package/src/core/utils/url/isAbsoluteUrl.test.ts +0 -32
- package/src/core/ws/handleWebSocketEvent.ts +0 -68
- package/src/core/ws/utils/getPublicData.ts +0 -18
- package/src/core/ws/webSocketInterceptor.ts +0 -3
- package/src/native/index.ts +0 -44
- package/src/package.json +0 -3
- package/src/shims/cookie.ts +0 -7
- package/src/shims/statuses.ts +0 -6
- /package/src/browser/utils/{getAbsoluteWorkerUrl.ts → get-absolute-worker-url.ts} +0 -0
- /package/src/core/utils/internal/{devUtils.ts → dev-utils.ts} +0 -0
- /package/src/core/utils/internal/{isObject.ts → is-object.ts} +0 -0
- /package/src/core/utils/internal/{isStringEqual.ts → is-string-equal.ts} +0 -0
- /package/src/core/utils/internal/{jsonParse.ts → json-parse.ts} +0 -0
- /package/src/core/utils/internal/{toReadonlyArray.ts → to-readonly-array.ts} +0 -0
- /package/src/core/utils/logging/{getStatusCodeColor.ts → get-status-code-color.ts} +0 -0
- /package/src/core/utils/logging/{getTimestamp.ts → get-timestamp.ts} +0 -0
- /package/src/core/utils/logging/{serializeRequest.ts → serialize-request.ts} +0 -0
- /package/src/core/utils/request/{getAllAcceptedMimeTypes.ts → get-all-accepted-mime-types.ts} +0 -0
- /package/src/core/utils/request/{toPublicUrl.ts → to-public-url.ts} +0 -0
- /package/src/core/utils/{toResponseInit.ts → to-response-init.ts} +0 -0
- /package/src/core/utils/url/{isAbsoluteUrl.ts → is-absolute-url.ts} +0 -0
- /package/src/{core → http}/http.test.ts +0 -0
- /package/src/{core/ws/utils/truncateMessage.ts → ws/utils/truncate-message.ts} +0 -0
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { isStringEqual } from './
|
|
1
|
+
import { isStringEqual } from './is-string-equal'
|
|
2
2
|
|
|
3
3
|
describe('isStringEqual', () => {
|
|
4
4
|
describe('given two uppercase strings', () => {
|
|
5
5
|
describe('and the strings are equal', () => {
|
|
6
|
-
|
|
6
|
+
test('should return true', () => {
|
|
7
7
|
expect(isStringEqual('GET', 'GET')).toBe(true)
|
|
8
8
|
})
|
|
9
9
|
})
|
|
10
10
|
|
|
11
11
|
describe('and the strings are not equal', () => {
|
|
12
|
-
|
|
12
|
+
test('should return false', () => {
|
|
13
13
|
expect(isStringEqual('GET', 'POST')).toBe(false)
|
|
14
14
|
})
|
|
15
15
|
})
|
|
@@ -17,13 +17,13 @@ describe('isStringEqual', () => {
|
|
|
17
17
|
|
|
18
18
|
describe('given two lowercase strings', () => {
|
|
19
19
|
describe('and the strings are equal', () => {
|
|
20
|
-
|
|
20
|
+
test('should return true', () => {
|
|
21
21
|
expect(isStringEqual('get', 'get')).toBe(true)
|
|
22
22
|
})
|
|
23
23
|
})
|
|
24
24
|
|
|
25
25
|
describe('and the strings are not equal', () => {
|
|
26
|
-
|
|
26
|
+
test('should return false', () => {
|
|
27
27
|
expect(isStringEqual('get', 'post')).toBe(false)
|
|
28
28
|
})
|
|
29
29
|
})
|
|
@@ -31,13 +31,13 @@ describe('isStringEqual', () => {
|
|
|
31
31
|
|
|
32
32
|
describe('given two strings cased differently', () => {
|
|
33
33
|
describe('and the strings are equal', () => {
|
|
34
|
-
|
|
34
|
+
test('should return true', () => {
|
|
35
35
|
expect(isStringEqual('get', 'GET')).toBe(true)
|
|
36
36
|
})
|
|
37
37
|
})
|
|
38
38
|
|
|
39
39
|
describe('and the strings are not equal', () => {
|
|
40
|
-
|
|
40
|
+
test('should return false', () => {
|
|
41
41
|
expect(isStringEqual('get', 'POST')).toBe(false)
|
|
42
42
|
})
|
|
43
43
|
})
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import { observeResponseBodyStream } from './observe-response-body-stream'
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
test('returns null for a response without a body', () => {
|
|
4
4
|
expect(observeResponseBodyStream(new Response(null))).toBeNull()
|
|
5
5
|
})
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
test('returns null for a response whose body is already used', async () => {
|
|
8
8
|
const response = new Response('hello')
|
|
9
9
|
await response.text()
|
|
10
10
|
|
|
11
11
|
expect(observeResponseBodyStream(response)).toBeNull()
|
|
12
12
|
})
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
test('returns null for a response whose body is locked', () => {
|
|
15
15
|
const response = new Response('hello')
|
|
16
16
|
response.body?.getReader()
|
|
17
17
|
|
|
18
18
|
expect(observeResponseBodyStream(response)).toBeNull()
|
|
19
19
|
})
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
test('resolves "settled" when the response body is read to completion', async () => {
|
|
22
22
|
const observed = observeResponseBodyStream(new Response('hello'))
|
|
23
23
|
expect(observed).not.toBeNull()
|
|
24
24
|
|
|
@@ -26,7 +26,7 @@ it('resolves "settled" when the response body is read to completion', async () =
|
|
|
26
26
|
await expect(observed?.settled).resolves.toBeUndefined()
|
|
27
27
|
})
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
test('resolves "settled" when the response body errors', async () => {
|
|
30
30
|
const stream = new ReadableStream({
|
|
31
31
|
start(controller) {
|
|
32
32
|
controller.error(new Error('stream error'))
|
|
@@ -39,7 +39,7 @@ it('resolves "settled" when the response body errors', async () => {
|
|
|
39
39
|
await expect(observed?.settled).resolves.toBeUndefined()
|
|
40
40
|
})
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
test('resolves "settled" when the response body is canceled', async () => {
|
|
43
43
|
const stream = new ReadableStream({
|
|
44
44
|
pull(controller) {
|
|
45
45
|
controller.enqueue(new TextEncoder().encode('ping'))
|
|
@@ -55,7 +55,7 @@ it('resolves "settled" when the response body is canceled', async () => {
|
|
|
55
55
|
await expect(observed?.settled).resolves.toBeUndefined()
|
|
56
56
|
})
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
test('resolves "settled" when the response body is consumed via piping', async () => {
|
|
59
59
|
const observed = observeResponseBodyStream(new Response('hello'))
|
|
60
60
|
expect(observed).not.toBeNull()
|
|
61
61
|
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { DeferredPromise } from '@open-draft/deferred-promise'
|
|
2
1
|
import { FetchResponse } from '@mswjs/interceptors'
|
|
3
|
-
import { copyResponseOwnProperties } from '../
|
|
2
|
+
import { copyResponseOwnProperties } from '../response-decorators'
|
|
4
3
|
|
|
5
4
|
export interface ObservedResponse {
|
|
6
5
|
response: Response
|
|
@@ -25,7 +24,7 @@ export function observeResponseBodyStream(
|
|
|
25
24
|
return null
|
|
26
25
|
}
|
|
27
26
|
|
|
28
|
-
const settled =
|
|
27
|
+
const settled = Promise.withResolvers<void>()
|
|
29
28
|
const reader = response.body.getReader()
|
|
30
29
|
|
|
31
30
|
/**
|
|
@@ -72,6 +71,6 @@ export function observeResponseBodyStream(
|
|
|
72
71
|
|
|
73
72
|
return {
|
|
74
73
|
response: observedResponse,
|
|
75
|
-
settled,
|
|
74
|
+
settled: settled.promise,
|
|
76
75
|
}
|
|
77
76
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { toReadonlyArray } from './
|
|
1
|
+
import { toReadonlyArray } from './to-readonly-array'
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
test('creates a copy of an array', () => {
|
|
4
4
|
expect(toReadonlyArray([1, 2, 3])).toEqual([1, 2, 3])
|
|
5
5
|
})
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
test('does not affect the source array', () => {
|
|
8
8
|
const source = ['a', 'b', 'c']
|
|
9
9
|
toReadonlyArray(source)
|
|
10
10
|
|
|
@@ -12,7 +12,7 @@ it('does not affect the source array', () => {
|
|
|
12
12
|
expect(source).toEqual(['a', 'b', 'c', 'd'])
|
|
13
13
|
})
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
test('forbids modifying the array copy', () => {
|
|
16
16
|
const source = [1, 2, 3]
|
|
17
17
|
const copy = toReadonlyArray(source)
|
|
18
18
|
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Colors for logging the direction of intercepted events.
|
|
3
|
+
*
|
|
4
|
+
* @note A standalone module so consumers interested only in the
|
|
5
|
+
* palette (e.g. `sse`, `msw/graphql` loggers) don't pull the entire
|
|
6
|
+
* WebSocket logger into their graph.
|
|
7
|
+
*/
|
|
8
|
+
export const colors = {
|
|
9
|
+
system: '#3b82f6',
|
|
10
|
+
outgoing: '#22c55e',
|
|
11
|
+
incoming: '#ef4444',
|
|
12
|
+
mocked: '#ff6a33',
|
|
13
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { encodeBuffer } from '@mswjs/interceptors'
|
|
2
|
-
import { serializeRequest } from './
|
|
2
|
+
import { serializeRequest } from './serialize-request'
|
|
3
3
|
|
|
4
4
|
test('serializes given Request instance into a plain object', async () => {
|
|
5
5
|
const request = await serializeRequest(
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
* @vitest-environment node
|
|
3
|
-
*/
|
|
1
|
+
// @vitest-environment node
|
|
4
2
|
import { encodeBuffer } from '@mswjs/interceptors'
|
|
5
|
-
import { serializeResponse } from './
|
|
3
|
+
import { serializeResponse } from './serialize-response'
|
|
6
4
|
|
|
7
|
-
|
|
5
|
+
test('serializes response without body', async () => {
|
|
8
6
|
const result = await serializeResponse(new Response(null))
|
|
9
7
|
|
|
10
8
|
expect(result.status).toBe(200)
|
|
@@ -13,7 +11,7 @@ it('serializes response without body', async () => {
|
|
|
13
11
|
expect(result.body).toBe('')
|
|
14
12
|
})
|
|
15
13
|
|
|
16
|
-
|
|
14
|
+
test('serializes a plain text response', async () => {
|
|
17
15
|
const result = await serializeResponse(
|
|
18
16
|
new Response('hello world', {
|
|
19
17
|
status: 201,
|
|
@@ -32,7 +30,7 @@ it('serializes a plain text response', async () => {
|
|
|
32
30
|
expect(result.body).toBe('hello world')
|
|
33
31
|
})
|
|
34
32
|
|
|
35
|
-
|
|
33
|
+
test('serializes a JSON response', async () => {
|
|
36
34
|
const response = new Response(JSON.stringify({ users: ['John'] }), {
|
|
37
35
|
headers: {
|
|
38
36
|
'Content-Type': 'application/json',
|
|
@@ -46,7 +44,7 @@ it('serializes a JSON response', async () => {
|
|
|
46
44
|
expect(result.body).toBe(JSON.stringify({ users: ['John'] }))
|
|
47
45
|
})
|
|
48
46
|
|
|
49
|
-
|
|
47
|
+
test('serializes a ArrayBuffer response', async () => {
|
|
50
48
|
const data = encodeBuffer('hello world')
|
|
51
49
|
const response = new Response(data)
|
|
52
50
|
const result = await serializeResponse(response)
|
|
@@ -54,14 +52,14 @@ it('serializes a ArrayBuffer response', async () => {
|
|
|
54
52
|
expect(result.body).toBe('hello world')
|
|
55
53
|
})
|
|
56
54
|
|
|
57
|
-
|
|
55
|
+
test('serializes a Blob response', async () => {
|
|
58
56
|
const response = new Response(new Blob(['hello world']))
|
|
59
57
|
const result = await serializeResponse(response)
|
|
60
58
|
|
|
61
59
|
expect(result.body).toBe('hello world')
|
|
62
60
|
})
|
|
63
61
|
|
|
64
|
-
|
|
62
|
+
test('serializes a FormData response', async () => {
|
|
65
63
|
const data = new FormData()
|
|
66
64
|
data.set('firstName', 'Alice')
|
|
67
65
|
data.set('age', '32')
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
const { message } = statuses
|
|
1
|
+
import { httpStatusMessages } from '../http-status-messages'
|
|
4
2
|
|
|
5
3
|
export interface SerializedResponse {
|
|
6
4
|
status: number
|
|
@@ -20,7 +18,7 @@ export async function serializeResponse(
|
|
|
20
18
|
// from status codes. This has no effect on the actual response instance.
|
|
21
19
|
const responseStatus = responseClone.status || 200
|
|
22
20
|
const responseStatusText =
|
|
23
|
-
responseClone.statusText ||
|
|
21
|
+
responseClone.statusText || httpStatusMessages[responseStatus] || 'OK'
|
|
24
22
|
|
|
25
23
|
return {
|
|
26
24
|
status: responseStatus,
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
// @vitest-environment jsdom
|
|
2
|
+
import { matchRequestUrl } from './match-request-url'
|
|
3
|
+
|
|
4
|
+
test('returns true when matched against a string URL', () => {
|
|
5
|
+
expect(
|
|
6
|
+
matchRequestUrl(new URL('https://test.mswjs.io'), 'https://test.mswjs.io'),
|
|
7
|
+
).toEqual({
|
|
8
|
+
matches: true,
|
|
9
|
+
params: {},
|
|
10
|
+
})
|
|
11
|
+
})
|
|
12
|
+
|
|
13
|
+
test('returns false when a string URL does not match', () => {
|
|
14
|
+
expect(
|
|
15
|
+
matchRequestUrl(new URL('https://test.mswjs.io'), 'https://google.com'),
|
|
16
|
+
).toEqual({
|
|
17
|
+
matches: false,
|
|
18
|
+
params: {},
|
|
19
|
+
})
|
|
20
|
+
})
|
|
21
|
+
|
|
22
|
+
test('returns true when matched against a RegExp', () => {
|
|
23
|
+
expect(
|
|
24
|
+
matchRequestUrl(new URL('https://test.mswjs.io'), /test\.mswjs\.io/),
|
|
25
|
+
).toEqual({
|
|
26
|
+
matches: true,
|
|
27
|
+
params: {},
|
|
28
|
+
})
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
test('returns false when a RegExp does not match', () => {
|
|
32
|
+
expect(matchRequestUrl(new URL('https://test.mswjs.io'), /foo\.bar/)).toEqual(
|
|
33
|
+
{
|
|
34
|
+
matches: false,
|
|
35
|
+
params: {},
|
|
36
|
+
},
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
expect(
|
|
40
|
+
matchRequestUrl(new URL('https://test.mswjs.io'), /foo\.bar/g),
|
|
41
|
+
).toEqual({
|
|
42
|
+
matches: false,
|
|
43
|
+
params: {},
|
|
44
|
+
})
|
|
45
|
+
|
|
46
|
+
expect(matchRequestUrl(new URL('https://test.mswjs.io'), /foo(.+)/)).toEqual({
|
|
47
|
+
matches: false,
|
|
48
|
+
params: {},
|
|
49
|
+
})
|
|
50
|
+
|
|
51
|
+
expect(matchRequestUrl(new URL('https://test.mswjs.io'), /foo(.+)/g)).toEqual(
|
|
52
|
+
{
|
|
53
|
+
matches: false,
|
|
54
|
+
params: {},
|
|
55
|
+
},
|
|
56
|
+
)
|
|
57
|
+
})
|
|
58
|
+
|
|
59
|
+
test('ignores query parameters when matching against a RegExp', () => {
|
|
60
|
+
expect(
|
|
61
|
+
matchRequestUrl(new URL('https://test.mswjs.io/path?foo=bar'), /\/path$/),
|
|
62
|
+
).toEqual({
|
|
63
|
+
matches: true,
|
|
64
|
+
params: {},
|
|
65
|
+
})
|
|
66
|
+
})
|
|
67
|
+
|
|
68
|
+
test('parses matching RegExp groups into index-based parameters', () => {
|
|
69
|
+
expect(
|
|
70
|
+
matchRequestUrl(new URL('https://test.mswjs.io/path'), /(.+)\.mswjs\.io/g),
|
|
71
|
+
).toEqual({
|
|
72
|
+
matches: true,
|
|
73
|
+
params: {
|
|
74
|
+
0: 'https://test',
|
|
75
|
+
},
|
|
76
|
+
})
|
|
77
|
+
|
|
78
|
+
expect(
|
|
79
|
+
matchRequestUrl(
|
|
80
|
+
new URL('https://test.mswjs.io/path'),
|
|
81
|
+
/https:\/\/(.+)\.mswjs\.io\/(.+)/g,
|
|
82
|
+
),
|
|
83
|
+
).toEqual({
|
|
84
|
+
matches: true,
|
|
85
|
+
params: {
|
|
86
|
+
0: 'test',
|
|
87
|
+
1: 'path',
|
|
88
|
+
},
|
|
89
|
+
})
|
|
90
|
+
})
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { matchPattern } from '@msw/url'
|
|
2
|
+
import { getCleanUrl } from '@mswjs/interceptors'
|
|
3
|
+
import { normalizePath } from './normalize-path'
|
|
4
|
+
|
|
5
|
+
export type Path = string | RegExp
|
|
6
|
+
export type PathParams<KeyType extends keyof any = string> = {
|
|
7
|
+
[ParamName in KeyType]?: string | ReadonlyArray<string>
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface Match {
|
|
11
|
+
matches: boolean
|
|
12
|
+
params?: PathParams
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export function isPath(value: unknown): value is Path {
|
|
16
|
+
return typeof value === 'string' || value instanceof RegExp
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Match the given URL against a path pattern.
|
|
21
|
+
*/
|
|
22
|
+
export function matchRequestUrl(
|
|
23
|
+
url: URL,
|
|
24
|
+
pattern: Path,
|
|
25
|
+
baseUrl?: string,
|
|
26
|
+
): Match {
|
|
27
|
+
const cleanUrl = getCleanUrl(url)
|
|
28
|
+
|
|
29
|
+
if (pattern instanceof RegExp) {
|
|
30
|
+
const match = pattern.flags.includes('g')
|
|
31
|
+
? [...cleanUrl.matchAll(pattern)].flat()
|
|
32
|
+
: cleanUrl.match(pattern)
|
|
33
|
+
|
|
34
|
+
return {
|
|
35
|
+
matches: match != null && match.length > 0,
|
|
36
|
+
params: Object.fromEntries(
|
|
37
|
+
(match ?? []).slice(1).map((value, index) => [index, value]),
|
|
38
|
+
),
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// Resolve potentially realive patterns against the baseUrl.
|
|
43
|
+
const normalizedPath = normalizePath(pattern, baseUrl)
|
|
44
|
+
return matchPattern(normalizedPath, cleanUrl)
|
|
45
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { Path } from './
|
|
2
|
-
import {
|
|
3
|
-
import { getAbsoluteUrl } from '../url/
|
|
1
|
+
import type { Path } from './match-request-url'
|
|
2
|
+
import { getCleanUrlString } from '#utils/get-clean-url-string'
|
|
3
|
+
import { getAbsoluteUrl } from '../url/get-absolute-url'
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Normalizes a given request handler path:
|
|
@@ -10,7 +10,10 @@ import { getAbsoluteUrl } from '../url/getAbsoluteUrl'
|
|
|
10
10
|
* - Preserves relative URLs in Node.js, unless specified otherwise.
|
|
11
11
|
* - Preserves optional path parameters.
|
|
12
12
|
*/
|
|
13
|
-
export function normalizePath
|
|
13
|
+
export function normalizePath<ThisPath extends Path>(
|
|
14
|
+
path: ThisPath,
|
|
15
|
+
baseUrl?: string,
|
|
16
|
+
): ThisPath {
|
|
14
17
|
// RegExp paths do not need normalization.
|
|
15
18
|
if (path instanceof RegExp) {
|
|
16
19
|
return path
|
|
@@ -18,5 +21,5 @@ export function normalizePath(path: Path, baseUrl?: string): Path {
|
|
|
18
21
|
|
|
19
22
|
const maybeAbsoluteUrl = getAbsoluteUrl(path, baseUrl)
|
|
20
23
|
|
|
21
|
-
return
|
|
24
|
+
return getCleanUrlString(maybeAbsoluteUrl) as ThisPath
|
|
22
25
|
}
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
import { getAllAcceptedMimeTypes } from './
|
|
1
|
+
import { getAllAcceptedMimeTypes } from './get-all-accepted-mime-types'
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
test('returns an empty array for null accept header', () => {
|
|
4
4
|
expect(getAllAcceptedMimeTypes(null)).toEqual([])
|
|
5
5
|
})
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
test('returns a single mime type as-is', () => {
|
|
8
8
|
expect(getAllAcceptedMimeTypes('application/json')).toEqual([
|
|
9
9
|
'application/json',
|
|
10
10
|
])
|
|
11
11
|
})
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
test('returns multiple mime types in order', () => {
|
|
14
14
|
expect(getAllAcceptedMimeTypes('text/html, application/json')).toEqual([
|
|
15
15
|
'text/html',
|
|
16
16
|
'application/json',
|
|
17
17
|
])
|
|
18
18
|
})
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
test('sorts by quality value (q parameter)', () => {
|
|
21
21
|
expect(
|
|
22
22
|
getAllAcceptedMimeTypes('text/plain;q=0.5, application/json;q=0.9'),
|
|
23
23
|
).toEqual(['application/json', 'text/plain'])
|
|
24
24
|
})
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
test('excludes types with q=0', () => {
|
|
27
27
|
expect(getAllAcceptedMimeTypes('text/html, text/plain;q=0')).toEqual([
|
|
28
28
|
'text/html',
|
|
29
29
|
])
|
|
30
30
|
})
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
test('returns an empty array when all types have q=0', () => {
|
|
33
33
|
expect(getAllAcceptedMimeTypes('text/html;q=0, text/plain;q=0')).toEqual([])
|
|
34
34
|
})
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
test('treats missing q as q=1 (default)', () => {
|
|
37
37
|
expect(getAllAcceptedMimeTypes('text/plain;q=0.5, application/json')).toEqual(
|
|
38
38
|
['application/json', 'text/plain'],
|
|
39
39
|
)
|
|
40
40
|
})
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
test('sorts by specificity when quality is equal (type/subtype > type/* > */*)', () => {
|
|
43
43
|
expect(getAllAcceptedMimeTypes('*/*, text/*, text/html')).toEqual([
|
|
44
44
|
'text/html',
|
|
45
45
|
'text/*',
|
|
@@ -47,7 +47,7 @@ it('sorts by specificity when quality is equal (type/subtype > type/* > */*)', (
|
|
|
47
47
|
])
|
|
48
48
|
})
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
test('sorts by parameter count when quality and specificity are equal', () => {
|
|
51
51
|
expect(
|
|
52
52
|
getAllAcceptedMimeTypes(
|
|
53
53
|
'text/plain;format=fixed;charset=utf-8, text/plain;charset=utf-8',
|
|
@@ -55,7 +55,7 @@ it('sorts by parameter count when quality and specificity are equal', () => {
|
|
|
55
55
|
).toEqual(['text/plain', 'text/plain'])
|
|
56
56
|
})
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
test('applies full precedence: quality > specificity > parameter count', () => {
|
|
59
59
|
expect(
|
|
60
60
|
getAllAcceptedMimeTypes(
|
|
61
61
|
'text/*;q=0.8, application/json, text/html;q=0.8, */*;q=0.1',
|
|
@@ -63,13 +63,13 @@ it('applies full precedence: quality > specificity > parameter count', () => {
|
|
|
63
63
|
).toEqual(['application/json', 'text/html', 'text/*', '*/*'])
|
|
64
64
|
})
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
test('handles whitespace around values', () => {
|
|
67
67
|
expect(
|
|
68
68
|
getAllAcceptedMimeTypes(' text/html , application/json ; q=0.9 '),
|
|
69
69
|
).toEqual(['text/html', 'application/json'])
|
|
70
70
|
})
|
|
71
71
|
|
|
72
|
-
|
|
72
|
+
test('handles a realistic browser accept header', () => {
|
|
73
73
|
expect(
|
|
74
74
|
getAllAcceptedMimeTypes(
|
|
75
75
|
'text/html, application/xhtml+xml, application/xml;q=0.9, */*;q=0.8',
|
|
@@ -77,7 +77,7 @@ it('handles a realistic browser accept header', () => {
|
|
|
77
77
|
).toEqual(['text/html', 'application/xhtml+xml', 'application/xml', '*/*'])
|
|
78
78
|
})
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
test('handles the graphql-over-http accept header', () => {
|
|
81
81
|
expect(
|
|
82
82
|
getAllAcceptedMimeTypes(
|
|
83
83
|
'application/graphql-response+json, application/json',
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { parseCookie } from 'cookie'
|
|
2
|
+
import { cookieStore } from '../cookie-store'
|
|
3
|
+
|
|
4
|
+
function parseCookies(input: string): Record<string, string> {
|
|
5
|
+
const parsedCookies = parseCookie(input)
|
|
6
|
+
const cookies: Record<string, string> = {}
|
|
7
|
+
|
|
8
|
+
for (const cookieName in parsedCookies) {
|
|
9
|
+
if (typeof parsedCookies[cookieName] !== 'undefined') {
|
|
10
|
+
cookies[cookieName] = parsedCookies[cookieName]
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
return cookies
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
function getAllDocumentCookies() {
|
|
18
|
+
return parseCookies(document.cookie)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Returns whether the given request would carry cookies,
|
|
23
|
+
* based on its `credentials` mode.
|
|
24
|
+
*/
|
|
25
|
+
function includesCredentials(request: Request): boolean {
|
|
26
|
+
switch (request.credentials) {
|
|
27
|
+
case 'same-origin': {
|
|
28
|
+
// Include cookies only when requesting a resource
|
|
29
|
+
// from the same origin as the current document.
|
|
30
|
+
return (
|
|
31
|
+
typeof location !== 'undefined' &&
|
|
32
|
+
location.origin === new URL(request.url).origin
|
|
33
|
+
)
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
case 'include': {
|
|
37
|
+
return true
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
default: {
|
|
41
|
+
return false
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function getDocumentCookies(): Record<string, string> {
|
|
47
|
+
if (typeof document === 'undefined') {
|
|
48
|
+
return {}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return getAllDocumentCookies()
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export function getAllRequestCookies(request: Request): Record<string, string> {
|
|
55
|
+
const requestCookieHeader = request.headers.get('cookie')
|
|
56
|
+
const cookiesFromHeaders = requestCookieHeader
|
|
57
|
+
? parseCookies(requestCookieHeader)
|
|
58
|
+
: {}
|
|
59
|
+
|
|
60
|
+
if (cookieStore === null || !includesCredentials(request)) {
|
|
61
|
+
return cookiesFromHeaders
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const cookiesFromDocument = getDocumentCookies()
|
|
65
|
+
|
|
66
|
+
const cookiesFromStore = cookieStore.getCookies(request.url)
|
|
67
|
+
const storedCookiesObject = Object.fromEntries(
|
|
68
|
+
cookiesFromStore.map((cookie) => [cookie.key, cookie.value]),
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
return {
|
|
72
|
+
...cookiesFromDocument,
|
|
73
|
+
...storedCookiesObject,
|
|
74
|
+
...cookiesFromHeaders,
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { cookieStore } from '../cookie-store'
|
|
2
|
+
import { getRawSetCookie } from '../response-decorators'
|
|
3
|
+
|
|
4
|
+
export async function storeResponseCookies(
|
|
5
|
+
request: Request,
|
|
6
|
+
response: Response,
|
|
7
|
+
): Promise<void> {
|
|
8
|
+
if (cookieStore === null) {
|
|
9
|
+
return
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
for (const responseCookie of getRawSetCookie(response)) {
|
|
13
|
+
await cookieStore.setCookie(responseCookie, request.url)
|
|
14
|
+
}
|
|
15
|
+
}
|