@depup/msw 2.15.0-depup.9 → 3.0.1-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -11
- package/changes.json +4 -28
- package/cli/init.js +12 -9
- package/cli/invariant.js +2 -2
- package/lib/_chunks/attach-sibling-handlers.js +360 -0
- package/lib/_chunks/attach-sibling-handlers.js.map +1 -0
- package/lib/_chunks/colors.js +18 -0
- package/lib/_chunks/colors.js.map +1 -0
- package/lib/_chunks/cookie-store.js +356 -0
- package/lib/_chunks/cookie-store.js.map +1 -0
- package/lib/_chunks/execute-handlers.js +29 -0
- package/lib/_chunks/execute-handlers.js.map +1 -0
- package/lib/_chunks/handlers-controller.d.ts +262 -0
- package/lib/_chunks/has-ref-counted.js +9 -0
- package/lib/_chunks/has-ref-counted.js.map +1 -0
- package/lib/_chunks/http-handler.d.ts +72 -0
- package/lib/_chunks/http-handler.js +187 -0
- package/lib/_chunks/http-handler.js.map +1 -0
- package/lib/_chunks/http-response.js +137 -0
- package/lib/_chunks/http-response.js.map +1 -0
- package/lib/{core → _chunks}/http.d.ts +15 -18
- package/lib/_chunks/http.js +30 -0
- package/lib/_chunks/http.js.map +1 -0
- package/lib/_chunks/interceptor-source.d.ts +163 -0
- package/lib/_chunks/interceptor-source.js +770 -0
- package/lib/_chunks/interceptor-source.js.map +1 -0
- package/lib/_chunks/is-object.js +11 -0
- package/lib/_chunks/is-object.js.map +1 -0
- package/lib/_chunks/match-request-url.d.ts +14 -0
- package/lib/_chunks/request-handler.d.ts +295 -0
- package/lib/_chunks/request-handler.js +369 -0
- package/lib/_chunks/request-handler.js.map +1 -0
- package/lib/_chunks/shared-options.d.ts +20 -0
- package/lib/_chunks/sse.d.ts +95 -0
- package/lib/_chunks/sse.js +599 -0
- package/lib/_chunks/sse.js.map +1 -0
- package/lib/_chunks/symbols.js +22 -0
- package/lib/_chunks/symbols.js.map +1 -0
- package/lib/_chunks/websocket-upgrade.js +46 -0
- package/lib/_chunks/websocket-upgrade.js.map +1 -0
- package/lib/_chunks/ws.d.ts +133 -0
- package/lib/_chunks/ws.js +293 -0
- package/lib/_chunks/ws.js.map +1 -0
- package/lib/browser/index.d.ts +225 -96
- package/lib/browser/index.js +555 -3694
- package/lib/browser/index.js.map +1 -1
- package/lib/core/experimental/index.d.ts +3 -17
- package/lib/core/experimental/index.js +2 -38
- package/lib/core/index.d.ts +15 -27
- package/lib/core/index.js +15 -64
- package/lib/graphql/index.d.ts +550 -0
- package/lib/graphql/index.js +1244 -0
- package/lib/graphql/index.js.map +1 -0
- package/lib/http/index.d.ts +4 -0
- package/lib/http/index.js +4 -0
- package/lib/iife/index.js +35884 -28422
- package/lib/iife/index.js.map +1 -1
- package/lib/mockServiceWorker.js +185 -86
- package/lib/node/index.d.ts +79 -104
- package/lib/node/index.js +103 -201
- package/lib/node/index.js.map +1 -1
- package/lib/sse/index.d.ts +2 -0
- package/lib/sse/index.js +2 -0
- package/lib/{core → utils}/bypass.d.ts +5 -4
- package/lib/utils/bypass.js +41 -0
- package/lib/utils/bypass.js.map +1 -0
- package/lib/utils/delay.d.ts +15 -0
- package/lib/utils/delay.js +45 -0
- package/lib/utils/delay.js.map +1 -0
- package/lib/utils/get-clean-url-string.d.ts +9 -0
- package/lib/utils/get-clean-url-string.js +15 -0
- package/lib/utils/get-clean-url-string.js.map +1 -0
- package/lib/utils/get-response.d.ts +13 -0
- package/lib/utils/get-response.js +23 -0
- package/lib/utils/get-response.js.map +1 -0
- package/lib/utils/is-common-asset-request.d.ts +22 -0
- package/lib/utils/is-common-asset-request.js +31 -0
- package/lib/utils/is-common-asset-request.js.map +1 -0
- package/lib/utils/passthrough.d.ts +31 -0
- package/lib/utils/passthrough.js +41 -0
- package/lib/utils/passthrough.js.map +1 -0
- package/lib/vite/index.d.ts +44 -0
- package/lib/vite/index.js +90 -0
- package/lib/vite/index.js.map +1 -0
- package/lib/vite/runtime.d.ts +6 -0
- package/lib/vite/runtime.js +77 -0
- package/lib/vite/runtime.js.map +1 -0
- package/lib/ws/index.d.ts +4 -0
- package/lib/ws/index.js +4 -0
- package/package.json +99 -230
- package/src/browser/default-network-options.ts +31 -0
- package/src/browser/glossary.ts +11 -23
- package/src/browser/index.ts +5 -1
- package/src/browser/setup-worker.ts +15 -68
- package/src/browser/sources/fallback-http-source.ts +1 -1
- package/src/browser/sources/service-worker-source.ts +76 -69
- package/src/browser/tsconfig.browser.json +4 -2
- package/src/browser/utils/{deserializeRequest.ts → deserialize-request.ts} +3 -4
- package/src/browser/utils/{getAbsoluteWorkerUrl.test.ts → get-absolute-worker-url.test.ts} +3 -3
- package/src/browser/utils/get-worker-instance.ts +2 -2
- package/src/browser/utils/should-invalidate-worker.test.ts +11 -11
- package/src/browser/utils/should-invalidate-worker.ts +1 -1
- package/src/browser/utils/validate-worker-scope.ts +1 -1
- package/src/browser/utils/{workerChannel.ts → worker-channel.ts} +42 -20
- package/src/core/experimental/define-network.test.ts +43 -8
- package/src/core/experimental/define-network.ts +32 -13
- package/src/core/experimental/frames/http-frame.test.ts +64 -13
- package/src/core/experimental/frames/http-frame.ts +29 -9
- package/src/core/experimental/frames/websocket-frame.test.ts +129 -15
- package/src/core/experimental/frames/websocket-frame.ts +71 -20
- package/src/core/experimental/handlers-controller.test.ts +141 -34
- package/src/core/experimental/handlers-controller.ts +107 -30
- package/src/core/experimental/index.ts +1 -0
- package/src/core/experimental/on-unhandled-frame.test.ts +19 -19
- package/src/core/experimental/on-unhandled-frame.ts +7 -12
- package/src/core/experimental/request-utils.test.ts +4 -29
- package/src/core/experimental/request-utils.ts +0 -14
- package/src/core/experimental/sources/interceptor-source.ts +44 -29
- package/src/core/experimental/sources/network-source.test.ts +3 -3
- package/src/core/experimental/sources/network-source.ts +3 -3
- package/src/core/handlers/handler.ts +42 -0
- package/src/core/handlers/{RequestHandler.ts → request-handler.ts} +26 -41
- package/src/core/index.ts +35 -58
- package/src/core/shared-options.ts +21 -0
- package/src/core/type-utils.ts +18 -0
- package/src/core/utils/{cookieStore.ts → cookie-store.ts} +14 -9
- package/src/core/utils/{executeHandlers.ts → execute-handlers.ts} +2 -2
- package/src/core/utils/http-status-messages.ts +69 -0
- package/src/core/utils/internal/{attachSiblingHandlers.ts → attach-sibling-handlers.ts} +20 -0
- package/src/core/utils/internal/{devUtils.test.ts → dev-utils.test.ts} +3 -3
- package/src/core/utils/internal/{Disposable.ts → disposable.ts} +1 -1
- package/src/core/utils/internal/{getCallFrame.test.ts → get-call-frame.test.ts} +1 -1
- package/src/core/utils/internal/{getCallFrame.ts → get-call-frame.ts} +1 -1
- package/src/core/utils/internal/{hasRefCounted.test.ts → has-ref-counted.test.ts} +4 -4
- package/src/core/utils/internal/{hasRefCounted.ts → has-ref-counted.ts} +1 -1
- package/src/core/utils/internal/{isIterable.test.ts → is-iterable.test.ts} +1 -1
- package/src/core/utils/internal/is-iterable.ts +16 -0
- package/src/core/utils/internal/{isObject.test.ts → is-object.test.ts} +1 -1
- package/src/core/utils/internal/{isStringEqual.test.ts → is-string-equal.test.ts} +7 -7
- package/src/core/utils/internal/{jsonParse.test.ts → json-parse.test.ts} +1 -1
- package/src/core/utils/internal/observe-response-body-stream.test.ts +7 -7
- package/src/core/utils/internal/observe-response-body-stream.ts +3 -4
- package/src/core/utils/internal/{parseMultipartData.test.ts → parse-multipart-data.test.ts} +1 -1
- package/src/core/utils/internal/{parseMultipartData.ts → parse-multipart-data.ts} +1 -1
- package/src/core/utils/internal/{toReadonlyArray.test.ts → to-readonly-array.test.ts} +4 -4
- package/src/core/utils/logging/colors.ts +13 -0
- package/src/core/utils/logging/{getStatusCodeColor.test.ts → get-status-code-color.test.ts} +1 -1
- package/src/core/utils/logging/{getTimestamp.test.ts → get-timestamp.test.ts} +1 -1
- package/src/core/utils/logging/{serializeRequest.test.ts → serialize-request.test.ts} +1 -1
- package/src/core/utils/logging/{serializeResponse.test.ts → serialize-response.test.ts} +8 -10
- package/src/core/utils/logging/{serializeResponse.ts → serialize-response.ts} +2 -4
- package/src/core/utils/matching/match-request-url.test.ts +90 -0
- package/src/core/utils/matching/match-request-url.ts +45 -0
- package/src/core/utils/matching/{normalizePath.node.test.ts → normalize-path.node.test.ts} +2 -4
- package/src/core/utils/matching/{normalizePath.test.ts → normalize-path.test.ts} +2 -4
- package/src/core/utils/matching/{normalizePath.ts → normalize-path.ts} +8 -5
- package/src/core/utils/request/{getAllAcceptedMimeTypes.test.ts → get-all-accepted-mime-types.test.ts} +14 -14
- package/src/core/utils/request/get-request-cookies.ts +76 -0
- package/src/core/utils/request/store-response-cookies.ts +15 -0
- package/src/core/utils/request/{toPublicUrl.node.test.ts → to-public-url.node.test.ts} +1 -1
- package/src/core/utils/request/{toPublicUrl.test.ts → to-public-url.test.ts} +2 -2
- package/src/core/utils/{HttpResponse/decorators.ts → response-decorators.ts} +6 -8
- package/src/core/utils/url/{getAbsoluteUrl.node.test.ts → get-absolute-url.node.test.ts} +5 -7
- package/src/core/utils/url/{getAbsoluteUrl.test.ts → get-absolute-url.test.ts} +7 -7
- package/src/core/utils/url/{getAbsoluteUrl.ts → get-absolute-url.ts} +1 -1
- package/src/core/utils/url/is-absolute-url.test.ts +30 -0
- package/src/{core/handlers/GraphQLHandler.test.ts → graphql/graphql-handler.test.ts} +37 -36
- package/src/{core/handlers/GraphQLHandler.ts → graphql/graphql-handler.ts} +54 -41
- package/src/graphql/graphql-subscription-event.ts +39 -0
- package/src/graphql/graphql-subscription.test.ts +208 -0
- package/src/graphql/graphql-subscription.ts +1487 -0
- package/src/graphql/graphql.test.ts +14 -0
- package/src/graphql/graphql.ts +179 -0
- package/src/graphql/index.ts +34 -0
- package/src/{core/utils/internal/parseGraphQLRequest.test.ts → graphql/parse-graphql-request.test.ts} +47 -6
- package/src/{core/utils/internal/parseGraphQLRequest.ts → graphql/parse-graphql-request.ts} +59 -32
- package/src/{core/handlers/HttpHandler.test.ts → http/http-handler.test.ts} +41 -23
- package/src/{core/handlers/HttpHandler.ts → http/http-handler.ts} +29 -18
- package/src/{core/HttpResponse.test.ts → http/http-response.test.ts} +25 -27
- package/src/{core/HttpResponse.ts → http/http-response.ts} +15 -17
- package/src/{core → http}/http.ts +7 -7
- package/src/http/index.test.ts +19 -0
- package/src/http/index.ts +22 -0
- package/src/http/symbols.ts +19 -0
- package/src/iife/index.ts +2 -0
- package/src/mockServiceWorker.js +183 -84
- package/src/node/async-handlers-controller.test.ts +4 -4
- package/src/node/glossary.ts +8 -4
- package/src/node/index.ts +1 -6
- package/src/node/setup-server-common.ts +16 -73
- package/src/node/setup-server.ts +9 -40
- package/src/sse/index.test.ts +14 -0
- package/src/sse/index.ts +7 -0
- package/src/{core → sse}/sse.ts +25 -21
- package/src/tsconfig.core.build.json +5 -1
- package/src/tsconfig.core.json +8 -1
- package/src/tsconfig.node.json +1 -1
- package/src/tsconfig.src.json +1 -1
- package/src/{core → utils}/bypass.test.ts +22 -5
- package/src/{core → utils}/bypass.ts +11 -0
- package/src/{core → utils}/delay.ts +5 -5
- package/src/utils/get-clean-url-string.test.ts +24 -0
- package/src/utils/get-clean-url-string.ts +16 -0
- package/src/{core/getResponse.test.ts → utils/get-response.test.ts} +9 -9
- package/src/{core/getResponse.ts → utils/get-response.ts} +2 -2
- package/src/{core/isCommonAssetRequest.ts → utils/is-common-asset-request.ts} +4 -3
- package/src/utils/passthrough.test.ts +41 -0
- package/src/utils/passthrough.ts +46 -0
- package/src/vite/client.d.ts +16 -0
- package/src/vite/index.ts +4 -0
- package/src/vite/options.d.ts +5 -0
- package/src/vite/plugin.test.ts +936 -0
- package/src/vite/plugin.ts +133 -0
- package/src/vite/runtime.ts +117 -0
- package/src/vite/tsconfig.build.json +7 -0
- package/src/ws/index.ts +23 -0
- package/src/{core/ws/utils/attachWebSocketLogger.ts → ws/utils/attach-websocket-logger.ts} +45 -23
- package/src/{core/ws/utils/getMessageLength.test.ts → ws/utils/get-message-length.test.ts} +4 -4
- package/src/{core/ws/utils/getMessageLength.ts → ws/utils/get-message-length.ts} +1 -1
- package/src/{core/ws/utils/getPublicData.test.ts → ws/utils/get-public-data.test.ts} +7 -7
- package/src/ws/utils/get-public-data.ts +23 -0
- package/src/{core/ws/utils/truncateMessage.test.ts → ws/utils/truncate-message.test.ts} +3 -3
- package/src/{core/ws/WebSocketClientManager.test.ts → ws/websocket-client-manager.test.ts} +8 -9
- package/src/{core/ws/WebSocketClientManager.ts → ws/websocket-client-manager.ts} +24 -28
- package/src/{core/ws/WebSocketClientStore.ts → ws/websocket-client-store.ts} +2 -2
- package/src/{core/handlers/WebSocketHandler.test.ts → ws/websocket-handler.test.ts} +15 -15
- package/src/{core/handlers/WebSocketHandler.ts → ws/websocket-handler.ts} +144 -32
- package/src/{core/ws/WebSocketIndexedDBClientStore.ts → ws/websocket-indexeddb-client-store.ts} +12 -13
- package/src/{core/ws/WebSocketMemoryClientStore.ts → ws/websocket-memory-client-store.ts} +4 -4
- package/src/ws/websocket-upgrade.ts +83 -0
- package/src/{core → ws}/ws.test.ts +3 -4
- package/src/{core → ws}/ws.ts +106 -53
- package/browser/package.json +0 -31
- package/cli/package.json +0 -3
- package/config/package.json +0 -3
- package/config/scripts/postinstall.js +0 -36
- package/lib/browser/index.d.mts +0 -112
- package/lib/browser/index.mjs +0 -3706
- package/lib/browser/index.mjs.map +0 -1
- package/lib/core/HttpResponse-BE_Y2Ak9.d.mts +0 -389
- package/lib/core/HttpResponse-DL-P1EeG.d.ts +0 -389
- package/lib/core/HttpResponse.d.mts +0 -6
- package/lib/core/HttpResponse.d.ts +0 -6
- package/lib/core/HttpResponse.js +0 -176
- package/lib/core/HttpResponse.js.map +0 -1
- package/lib/core/HttpResponse.mjs +0 -159
- package/lib/core/HttpResponse.mjs.map +0 -1
- package/lib/core/bypass.d.mts +0 -16
- package/lib/core/bypass.js +0 -42
- package/lib/core/bypass.js.map +0 -1
- package/lib/core/bypass.mjs +0 -22
- package/lib/core/bypass.mjs.map +0 -1
- package/lib/core/delay.d.mts +0 -18
- package/lib/core/delay.d.ts +0 -18
- package/lib/core/delay.js +0 -77
- package/lib/core/delay.js.map +0 -1
- package/lib/core/delay.mjs +0 -57
- package/lib/core/delay.mjs.map +0 -1
- package/lib/core/experimental/compat.d.mts +0 -17
- package/lib/core/experimental/compat.d.ts +0 -17
- package/lib/core/experimental/compat.js +0 -55
- package/lib/core/experimental/compat.js.map +0 -1
- package/lib/core/experimental/compat.mjs +0 -37
- package/lib/core/experimental/compat.mjs.map +0 -1
- package/lib/core/experimental/define-network.d.mts +0 -75
- package/lib/core/experimental/define-network.d.ts +0 -75
- package/lib/core/experimental/define-network.js +0 -134
- package/lib/core/experimental/define-network.js.map +0 -1
- package/lib/core/experimental/define-network.mjs +0 -119
- package/lib/core/experimental/define-network.mjs.map +0 -1
- package/lib/core/experimental/frames/http-frame.d.mts +0 -77
- package/lib/core/experimental/frames/http-frame.d.ts +0 -77
- package/lib/core/experimental/frames/http-frame.js +0 -197
- package/lib/core/experimental/frames/http-frame.js.map +0 -1
- package/lib/core/experimental/frames/http-frame.mjs +0 -181
- package/lib/core/experimental/frames/http-frame.mjs.map +0 -1
- package/lib/core/experimental/frames/network-frame.d.mts +0 -12
- package/lib/core/experimental/frames/network-frame.d.ts +0 -12
- package/lib/core/experimental/frames/network-frame.js +0 -35
- package/lib/core/experimental/frames/network-frame.js.map +0 -1
- package/lib/core/experimental/frames/network-frame.mjs +0 -15
- package/lib/core/experimental/frames/network-frame.mjs.map +0 -1
- package/lib/core/experimental/frames/websocket-frame.d.mts +0 -55
- package/lib/core/experimental/frames/websocket-frame.d.ts +0 -55
- package/lib/core/experimental/frames/websocket-frame.js +0 -131
- package/lib/core/experimental/frames/websocket-frame.js.map +0 -1
- package/lib/core/experimental/frames/websocket-frame.mjs +0 -118
- package/lib/core/experimental/frames/websocket-frame.mjs.map +0 -1
- package/lib/core/experimental/handlers-controller.d.mts +0 -36
- package/lib/core/experimental/handlers-controller.d.ts +0 -36
- package/lib/core/experimental/handlers-controller.js +0 -146
- package/lib/core/experimental/handlers-controller.js.map +0 -1
- package/lib/core/experimental/handlers-controller.mjs +0 -126
- package/lib/core/experimental/handlers-controller.mjs.map +0 -1
- package/lib/core/experimental/index.d.mts +0 -17
- package/lib/core/experimental/index.js.map +0 -1
- package/lib/core/experimental/index.mjs +0 -27
- package/lib/core/experimental/index.mjs.map +0 -1
- package/lib/core/experimental/on-unhandled-frame.d.mts +0 -12
- package/lib/core/experimental/on-unhandled-frame.d.ts +0 -12
- package/lib/core/experimental/on-unhandled-frame.js +0 -91
- package/lib/core/experimental/on-unhandled-frame.js.map +0 -1
- package/lib/core/experimental/on-unhandled-frame.mjs +0 -71
- package/lib/core/experimental/on-unhandled-frame.mjs.map +0 -1
- package/lib/core/experimental/request-utils.d.mts +0 -12
- package/lib/core/experimental/request-utils.d.ts +0 -12
- package/lib/core/experimental/request-utils.js +0 -50
- package/lib/core/experimental/request-utils.js.map +0 -1
- package/lib/core/experimental/request-utils.mjs +0 -30
- package/lib/core/experimental/request-utils.mjs.map +0 -1
- package/lib/core/experimental/setup-api.d.mts +0 -33
- package/lib/core/experimental/setup-api.d.ts +0 -33
- package/lib/core/experimental/setup-api.js +0 -58
- package/lib/core/experimental/setup-api.js.map +0 -1
- package/lib/core/experimental/setup-api.mjs +0 -40
- package/lib/core/experimental/setup-api.mjs.map +0 -1
- package/lib/core/experimental/sources/interceptor-source.d.mts +0 -28
- package/lib/core/experimental/sources/interceptor-source.d.ts +0 -28
- package/lib/core/experimental/sources/interceptor-source.js +0 -155
- package/lib/core/experimental/sources/interceptor-source.js.map +0 -1
- package/lib/core/experimental/sources/interceptor-source.mjs +0 -135
- package/lib/core/experimental/sources/interceptor-source.mjs.map +0 -1
- package/lib/core/experimental/sources/network-source.d.mts +0 -31
- package/lib/core/experimental/sources/network-source.d.ts +0 -31
- package/lib/core/experimental/sources/network-source.js +0 -51
- package/lib/core/experimental/sources/network-source.js.map +0 -1
- package/lib/core/experimental/sources/network-source.mjs +0 -32
- package/lib/core/experimental/sources/network-source.mjs.map +0 -1
- package/lib/core/getResponse.d.mts +0 -18
- package/lib/core/getResponse.d.ts +0 -18
- package/lib/core/getResponse.js +0 -35
- package/lib/core/getResponse.js.map +0 -1
- package/lib/core/getResponse.mjs +0 -17
- package/lib/core/getResponse.mjs.map +0 -1
- package/lib/core/graphql.d.mts +0 -76
- package/lib/core/graphql.d.ts +0 -76
- package/lib/core/graphql.js +0 -91
- package/lib/core/graphql.js.map +0 -1
- package/lib/core/graphql.mjs +0 -74
- package/lib/core/graphql.mjs.map +0 -1
- package/lib/core/handlers/GraphQLHandler.d.mts +0 -6
- package/lib/core/handlers/GraphQLHandler.d.ts +0 -6
- package/lib/core/handlers/GraphQLHandler.js +0 -232
- package/lib/core/handlers/GraphQLHandler.js.map +0 -1
- package/lib/core/handlers/GraphQLHandler.mjs +0 -221
- package/lib/core/handlers/GraphQLHandler.mjs.map +0 -1
- package/lib/core/handlers/HttpHandler.d.mts +0 -75
- package/lib/core/handlers/HttpHandler.d.ts +0 -75
- package/lib/core/handlers/HttpHandler.js +0 -129
- package/lib/core/handlers/HttpHandler.js.map +0 -1
- package/lib/core/handlers/HttpHandler.mjs +0 -113
- package/lib/core/handlers/HttpHandler.mjs.map +0 -1
- package/lib/core/handlers/RequestHandler.d.mts +0 -6
- package/lib/core/handlers/RequestHandler.d.ts +0 -6
- package/lib/core/handlers/RequestHandler.js +0 -365
- package/lib/core/handlers/RequestHandler.js.map +0 -1
- package/lib/core/handlers/RequestHandler.mjs +0 -348
- package/lib/core/handlers/RequestHandler.mjs.map +0 -1
- package/lib/core/handlers/WebSocketHandler.d.mts +0 -49
- package/lib/core/handlers/WebSocketHandler.d.ts +0 -49
- package/lib/core/handlers/WebSocketHandler.js +0 -178
- package/lib/core/handlers/WebSocketHandler.js.map +0 -1
- package/lib/core/handlers/WebSocketHandler.mjs +0 -160
- package/lib/core/handlers/WebSocketHandler.mjs.map +0 -1
- package/lib/core/http.d.mts +0 -31
- package/lib/core/http.js +0 -41
- package/lib/core/http.js.map +0 -1
- package/lib/core/http.mjs +0 -25
- package/lib/core/http.mjs.map +0 -1
- package/lib/core/index.d.mts +0 -27
- package/lib/core/index.js.map +0 -1
- package/lib/core/index.mjs +0 -52
- package/lib/core/index.mjs.map +0 -1
- package/lib/core/isCommonAssetRequest.d.mts +0 -20
- package/lib/core/isCommonAssetRequest.d.ts +0 -20
- package/lib/core/isCommonAssetRequest.js +0 -42
- package/lib/core/isCommonAssetRequest.js.map +0 -1
- package/lib/core/isCommonAssetRequest.mjs +0 -22
- package/lib/core/isCommonAssetRequest.mjs.map +0 -1
- package/lib/core/on-unhandled-frame-0KmwUmeV.d.ts +0 -56
- package/lib/core/on-unhandled-frame-gkokW4Rr.d.mts +0 -56
- package/lib/core/passthrough.d.mts +0 -24
- package/lib/core/passthrough.d.ts +0 -24
- package/lib/core/passthrough.js +0 -33
- package/lib/core/passthrough.js.map +0 -1
- package/lib/core/passthrough.mjs +0 -13
- package/lib/core/passthrough.mjs.map +0 -1
- package/lib/core/sharedOptions.d.mts +0 -68
- package/lib/core/sharedOptions.d.ts +0 -68
- package/lib/core/sharedOptions.js +0 -17
- package/lib/core/sharedOptions.js.map +0 -1
- package/lib/core/sharedOptions.mjs +0 -1
- package/lib/core/sharedOptions.mjs.map +0 -1
- package/lib/core/sse.d.mts +0 -102
- package/lib/core/sse.d.ts +0 -102
- package/lib/core/sse.js +0 -690
- package/lib/core/sse.js.map +0 -1
- package/lib/core/sse.mjs +0 -672
- package/lib/core/sse.mjs.map +0 -1
- package/lib/core/typeUtils.d.mts +0 -12
- package/lib/core/typeUtils.d.ts +0 -12
- package/lib/core/typeUtils.js +0 -17
- package/lib/core/typeUtils.js.map +0 -1
- package/lib/core/typeUtils.mjs +0 -1
- package/lib/core/typeUtils.mjs.map +0 -1
- package/lib/core/utils/HttpResponse/decorators.d.mts +0 -22
- package/lib/core/utils/HttpResponse/decorators.d.ts +0 -22
- package/lib/core/utils/HttpResponse/decorators.js +0 -84
- package/lib/core/utils/HttpResponse/decorators.js.map +0 -1
- package/lib/core/utils/HttpResponse/decorators.mjs +0 -54
- package/lib/core/utils/HttpResponse/decorators.mjs.map +0 -1
- package/lib/core/utils/cookieStore.d.mts +0 -13
- package/lib/core/utils/cookieStore.d.ts +0 -13
- package/lib/core/utils/cookieStore.js +0 -90
- package/lib/core/utils/cookieStore.js.map +0 -1
- package/lib/core/utils/cookieStore.mjs +0 -74
- package/lib/core/utils/cookieStore.mjs.map +0 -1
- package/lib/core/utils/executeHandlers.d.mts +0 -6
- package/lib/core/utils/executeHandlers.d.ts +0 -6
- package/lib/core/utils/executeHandlers.js +0 -51
- package/lib/core/utils/executeHandlers.js.map +0 -1
- package/lib/core/utils/executeHandlers.mjs +0 -31
- package/lib/core/utils/executeHandlers.mjs.map +0 -1
- package/lib/core/utils/handleRequest.d.mts +0 -30
- package/lib/core/utils/handleRequest.d.ts +0 -30
- package/lib/core/utils/handleRequest.js +0 -76
- package/lib/core/utils/handleRequest.js.map +0 -1
- package/lib/core/utils/handleRequest.mjs +0 -58
- package/lib/core/utils/handleRequest.mjs.map +0 -1
- package/lib/core/utils/internal/Disposable.d.mts +0 -7
- package/lib/core/utils/internal/Disposable.d.ts +0 -7
- package/lib/core/utils/internal/Disposable.js +0 -51
- package/lib/core/utils/internal/Disposable.js.map +0 -1
- package/lib/core/utils/internal/Disposable.mjs +0 -31
- package/lib/core/utils/internal/Disposable.mjs.map +0 -1
- package/lib/core/utils/internal/attachSiblingHandlers.d.mts +0 -15
- package/lib/core/utils/internal/attachSiblingHandlers.d.ts +0 -15
- package/lib/core/utils/internal/attachSiblingHandlers.js +0 -44
- package/lib/core/utils/internal/attachSiblingHandlers.js.map +0 -1
- package/lib/core/utils/internal/attachSiblingHandlers.mjs +0 -24
- package/lib/core/utils/internal/attachSiblingHandlers.mjs.map +0 -1
- package/lib/core/utils/internal/checkGlobals.d.mts +0 -3
- package/lib/core/utils/internal/checkGlobals.d.ts +0 -3
- package/lib/core/utils/internal/checkGlobals.js +0 -34
- package/lib/core/utils/internal/checkGlobals.js.map +0 -1
- package/lib/core/utils/internal/checkGlobals.mjs +0 -14
- package/lib/core/utils/internal/checkGlobals.mjs.map +0 -1
- package/lib/core/utils/internal/devUtils.d.mts +0 -28
- package/lib/core/utils/internal/devUtils.d.ts +0 -28
- package/lib/core/utils/internal/devUtils.js +0 -48
- package/lib/core/utils/internal/devUtils.js.map +0 -1
- package/lib/core/utils/internal/devUtils.mjs +0 -28
- package/lib/core/utils/internal/devUtils.mjs.map +0 -1
- package/lib/core/utils/internal/getCallFrame.d.mts +0 -6
- package/lib/core/utils/internal/getCallFrame.d.ts +0 -6
- package/lib/core/utils/internal/getCallFrame.js +0 -41
- package/lib/core/utils/internal/getCallFrame.js.map +0 -1
- package/lib/core/utils/internal/getCallFrame.mjs +0 -21
- package/lib/core/utils/internal/getCallFrame.mjs.map +0 -1
- package/lib/core/utils/internal/hasRefCounted.d.mts +0 -3
- package/lib/core/utils/internal/hasRefCounted.d.ts +0 -3
- package/lib/core/utils/internal/hasRefCounted.js +0 -34
- package/lib/core/utils/internal/hasRefCounted.js.map +0 -1
- package/lib/core/utils/internal/hasRefCounted.mjs +0 -14
- package/lib/core/utils/internal/hasRefCounted.mjs.map +0 -1
- package/lib/core/utils/internal/isHandlerKind.d.mts +0 -19
- package/lib/core/utils/internal/isHandlerKind.d.ts +0 -19
- package/lib/core/utils/internal/isHandlerKind.js +0 -30
- package/lib/core/utils/internal/isHandlerKind.js.map +0 -1
- package/lib/core/utils/internal/isHandlerKind.mjs +0 -10
- package/lib/core/utils/internal/isHandlerKind.mjs.map +0 -1
- package/lib/core/utils/internal/isIterable.d.mts +0 -20
- package/lib/core/utils/internal/isIterable.d.ts +0 -20
- package/lib/core/utils/internal/isIterable.js +0 -30
- package/lib/core/utils/internal/isIterable.js.map +0 -1
- package/lib/core/utils/internal/isIterable.mjs +0 -10
- package/lib/core/utils/internal/isIterable.mjs.map +0 -1
- package/lib/core/utils/internal/isObject.d.mts +0 -6
- package/lib/core/utils/internal/isObject.d.ts +0 -6
- package/lib/core/utils/internal/isObject.js +0 -27
- package/lib/core/utils/internal/isObject.js.map +0 -1
- package/lib/core/utils/internal/isObject.mjs +0 -7
- package/lib/core/utils/internal/isObject.mjs.map +0 -1
- package/lib/core/utils/internal/isStringEqual.d.mts +0 -6
- package/lib/core/utils/internal/isStringEqual.d.ts +0 -6
- package/lib/core/utils/internal/isStringEqual.js +0 -27
- package/lib/core/utils/internal/isStringEqual.js.map +0 -1
- package/lib/core/utils/internal/isStringEqual.mjs +0 -7
- package/lib/core/utils/internal/isStringEqual.mjs.map +0 -1
- package/lib/core/utils/internal/jsonParse.d.mts +0 -7
- package/lib/core/utils/internal/jsonParse.d.ts +0 -7
- package/lib/core/utils/internal/jsonParse.js +0 -31
- package/lib/core/utils/internal/jsonParse.js.map +0 -1
- package/lib/core/utils/internal/jsonParse.mjs +0 -11
- package/lib/core/utils/internal/jsonParse.mjs.map +0 -1
- package/lib/core/utils/internal/mergeRight.d.mts +0 -7
- package/lib/core/utils/internal/mergeRight.d.ts +0 -7
- package/lib/core/utils/internal/mergeRight.js +0 -43
- package/lib/core/utils/internal/mergeRight.js.map +0 -1
- package/lib/core/utils/internal/mergeRight.mjs +0 -23
- package/lib/core/utils/internal/mergeRight.mjs.map +0 -1
- package/lib/core/utils/internal/observe-response-body-stream.d.mts +0 -18
- package/lib/core/utils/internal/observe-response-body-stream.d.ts +0 -18
- package/lib/core/utils/internal/observe-response-body-stream.js +0 -64
- package/lib/core/utils/internal/observe-response-body-stream.js.map +0 -1
- package/lib/core/utils/internal/observe-response-body-stream.mjs +0 -44
- package/lib/core/utils/internal/observe-response-body-stream.mjs.map +0 -1
- package/lib/core/utils/internal/parseGraphQLRequest.d.mts +0 -6
- package/lib/core/utils/internal/parseGraphQLRequest.d.ts +0 -6
- package/lib/core/utils/internal/parseGraphQLRequest.js +0 -146
- package/lib/core/utils/internal/parseGraphQLRequest.js.map +0 -1
- package/lib/core/utils/internal/parseGraphQLRequest.mjs +0 -129
- package/lib/core/utils/internal/parseGraphQLRequest.mjs.map +0 -1
- package/lib/core/utils/internal/parseMultipartData.d.mts +0 -14
- package/lib/core/utils/internal/parseMultipartData.d.ts +0 -14
- package/lib/core/utils/internal/parseMultipartData.js +0 -84
- package/lib/core/utils/internal/parseMultipartData.js.map +0 -1
- package/lib/core/utils/internal/parseMultipartData.mjs +0 -64
- package/lib/core/utils/internal/parseMultipartData.mjs.map +0 -1
- package/lib/core/utils/internal/pipeEvents.d.mts +0 -8
- package/lib/core/utils/internal/pipeEvents.d.ts +0 -8
- package/lib/core/utils/internal/pipeEvents.js +0 -37
- package/lib/core/utils/internal/pipeEvents.js.map +0 -1
- package/lib/core/utils/internal/pipeEvents.mjs +0 -17
- package/lib/core/utils/internal/pipeEvents.mjs.map +0 -1
- package/lib/core/utils/internal/toReadonlyArray.d.mts +0 -6
- package/lib/core/utils/internal/toReadonlyArray.d.ts +0 -6
- package/lib/core/utils/internal/toReadonlyArray.js +0 -29
- package/lib/core/utils/internal/toReadonlyArray.js.map +0 -1
- package/lib/core/utils/internal/toReadonlyArray.mjs +0 -9
- package/lib/core/utils/internal/toReadonlyArray.mjs.map +0 -1
- package/lib/core/utils/internal/tryCatch.d.mts +0 -3
- package/lib/core/utils/internal/tryCatch.d.ts +0 -3
- package/lib/core/utils/internal/tryCatch.js +0 -32
- package/lib/core/utils/internal/tryCatch.js.map +0 -1
- package/lib/core/utils/internal/tryCatch.mjs +0 -12
- package/lib/core/utils/internal/tryCatch.mjs.map +0 -1
- package/lib/core/utils/logging/getStatusCodeColor.d.mts +0 -11
- package/lib/core/utils/logging/getStatusCodeColor.d.ts +0 -11
- package/lib/core/utils/logging/getStatusCodeColor.js +0 -40
- package/lib/core/utils/logging/getStatusCodeColor.js.map +0 -1
- package/lib/core/utils/logging/getStatusCodeColor.mjs +0 -20
- package/lib/core/utils/logging/getStatusCodeColor.mjs.map +0 -1
- package/lib/core/utils/logging/getTimestamp.d.mts +0 -9
- package/lib/core/utils/logging/getTimestamp.d.ts +0 -9
- package/lib/core/utils/logging/getTimestamp.js +0 -32
- package/lib/core/utils/logging/getTimestamp.js.map +0 -1
- package/lib/core/utils/logging/getTimestamp.mjs +0 -12
- package/lib/core/utils/logging/getTimestamp.mjs.map +0 -1
- package/lib/core/utils/logging/serializeRequest.d.mts +0 -12
- package/lib/core/utils/logging/serializeRequest.d.ts +0 -12
- package/lib/core/utils/logging/serializeRequest.js +0 -34
- package/lib/core/utils/logging/serializeRequest.js.map +0 -1
- package/lib/core/utils/logging/serializeRequest.mjs +0 -14
- package/lib/core/utils/logging/serializeRequest.mjs.map +0 -1
- package/lib/core/utils/logging/serializeResponse.d.mts +0 -9
- package/lib/core/utils/logging/serializeResponse.d.ts +0 -9
- package/lib/core/utils/logging/serializeResponse.js +0 -48
- package/lib/core/utils/logging/serializeResponse.js.map +0 -1
- package/lib/core/utils/logging/serializeResponse.mjs +0 -18
- package/lib/core/utils/logging/serializeResponse.mjs.map +0 -1
- package/lib/core/utils/matching/matchRequestUrl.d.mts +0 -20
- package/lib/core/utils/matching/matchRequestUrl.d.ts +0 -20
- package/lib/core/utils/matching/matchRequestUrl.js +0 -55
- package/lib/core/utils/matching/matchRequestUrl.js.map +0 -1
- package/lib/core/utils/matching/matchRequestUrl.mjs +0 -35
- package/lib/core/utils/matching/matchRequestUrl.mjs.map +0 -1
- package/lib/core/utils/matching/normalizePath.d.mts +0 -13
- package/lib/core/utils/matching/normalizePath.d.ts +0 -13
- package/lib/core/utils/matching/normalizePath.js +0 -33
- package/lib/core/utils/matching/normalizePath.js.map +0 -1
- package/lib/core/utils/matching/normalizePath.mjs +0 -13
- package/lib/core/utils/matching/normalizePath.mjs.map +0 -1
- package/lib/core/utils/request/getAllAcceptedMimeTypes.d.mts +0 -14
- package/lib/core/utils/request/getAllAcceptedMimeTypes.d.ts +0 -14
- package/lib/core/utils/request/getAllAcceptedMimeTypes.js +0 -61
- package/lib/core/utils/request/getAllAcceptedMimeTypes.js.map +0 -1
- package/lib/core/utils/request/getAllAcceptedMimeTypes.mjs +0 -41
- package/lib/core/utils/request/getAllAcceptedMimeTypes.mjs.map +0 -1
- package/lib/core/utils/request/getRequestCookies.d.mts +0 -3
- package/lib/core/utils/request/getRequestCookies.d.ts +0 -3
- package/lib/core/utils/request/getRequestCookies.js +0 -79
- package/lib/core/utils/request/getRequestCookies.js.map +0 -1
- package/lib/core/utils/request/getRequestCookies.mjs +0 -62
- package/lib/core/utils/request/getRequestCookies.mjs.map +0 -1
- package/lib/core/utils/request/onUnhandledRequest.d.mts +0 -9
- package/lib/core/utils/request/onUnhandledRequest.d.ts +0 -9
- package/lib/core/utils/request/onUnhandledRequest.js +0 -76
- package/lib/core/utils/request/onUnhandledRequest.js.map +0 -1
- package/lib/core/utils/request/onUnhandledRequest.mjs +0 -56
- package/lib/core/utils/request/onUnhandledRequest.mjs.map +0 -1
- package/lib/core/utils/request/storeResponseCookies.d.mts +0 -3
- package/lib/core/utils/request/storeResponseCookies.d.ts +0 -3
- package/lib/core/utils/request/storeResponseCookies.js +0 -32
- package/lib/core/utils/request/storeResponseCookies.js.map +0 -1
- package/lib/core/utils/request/storeResponseCookies.mjs +0 -12
- package/lib/core/utils/request/storeResponseCookies.mjs.map +0 -1
- package/lib/core/utils/request/toPublicUrl.d.mts +0 -7
- package/lib/core/utils/request/toPublicUrl.d.ts +0 -7
- package/lib/core/utils/request/toPublicUrl.js +0 -31
- package/lib/core/utils/request/toPublicUrl.js.map +0 -1
- package/lib/core/utils/request/toPublicUrl.mjs +0 -11
- package/lib/core/utils/request/toPublicUrl.mjs.map +0 -1
- package/lib/core/utils/toResponseInit.d.mts +0 -3
- package/lib/core/utils/toResponseInit.d.ts +0 -3
- package/lib/core/utils/toResponseInit.js +0 -31
- package/lib/core/utils/toResponseInit.js.map +0 -1
- package/lib/core/utils/toResponseInit.mjs +0 -11
- package/lib/core/utils/toResponseInit.mjs.map +0 -1
- package/lib/core/utils/url/cleanUrl.d.mts +0 -7
- package/lib/core/utils/url/cleanUrl.d.ts +0 -7
- package/lib/core/utils/url/cleanUrl.js +0 -31
- package/lib/core/utils/url/cleanUrl.js.map +0 -1
- package/lib/core/utils/url/cleanUrl.mjs +0 -11
- package/lib/core/utils/url/cleanUrl.mjs.map +0 -1
- package/lib/core/utils/url/getAbsoluteUrl.d.mts +0 -6
- package/lib/core/utils/url/getAbsoluteUrl.d.ts +0 -6
- package/lib/core/utils/url/getAbsoluteUrl.js +0 -38
- package/lib/core/utils/url/getAbsoluteUrl.js.map +0 -1
- package/lib/core/utils/url/getAbsoluteUrl.mjs +0 -18
- package/lib/core/utils/url/getAbsoluteUrl.mjs.map +0 -1
- package/lib/core/utils/url/isAbsoluteUrl.d.mts +0 -6
- package/lib/core/utils/url/isAbsoluteUrl.d.ts +0 -6
- package/lib/core/utils/url/isAbsoluteUrl.js +0 -27
- package/lib/core/utils/url/isAbsoluteUrl.js.map +0 -1
- package/lib/core/utils/url/isAbsoluteUrl.mjs +0 -7
- package/lib/core/utils/url/isAbsoluteUrl.mjs.map +0 -1
- package/lib/core/ws/WebSocketClientManager.d.mts +0 -65
- package/lib/core/ws/WebSocketClientManager.d.ts +0 -65
- package/lib/core/ws/WebSocketClientManager.js +0 -163
- package/lib/core/ws/WebSocketClientManager.js.map +0 -1
- package/lib/core/ws/WebSocketClientManager.mjs +0 -143
- package/lib/core/ws/WebSocketClientManager.mjs.map +0 -1
- package/lib/core/ws/WebSocketClientStore.d.mts +0 -13
- package/lib/core/ws/WebSocketClientStore.d.ts +0 -13
- package/lib/core/ws/WebSocketClientStore.js +0 -26
- package/lib/core/ws/WebSocketClientStore.js.map +0 -1
- package/lib/core/ws/WebSocketClientStore.mjs +0 -6
- package/lib/core/ws/WebSocketClientStore.mjs.map +0 -1
- package/lib/core/ws/WebSocketIndexedDBClientStore.d.mts +0 -14
- package/lib/core/ws/WebSocketIndexedDBClientStore.d.ts +0 -14
- package/lib/core/ws/WebSocketIndexedDBClientStore.js +0 -131
- package/lib/core/ws/WebSocketIndexedDBClientStore.js.map +0 -1
- package/lib/core/ws/WebSocketIndexedDBClientStore.mjs +0 -111
- package/lib/core/ws/WebSocketIndexedDBClientStore.mjs.map +0 -1
- package/lib/core/ws/WebSocketMemoryClientStore.d.mts +0 -12
- package/lib/core/ws/WebSocketMemoryClientStore.d.ts +0 -12
- package/lib/core/ws/WebSocketMemoryClientStore.js +0 -42
- package/lib/core/ws/WebSocketMemoryClientStore.js.map +0 -1
- package/lib/core/ws/WebSocketMemoryClientStore.mjs +0 -22
- package/lib/core/ws/WebSocketMemoryClientStore.mjs.map +0 -1
- package/lib/core/ws/handleWebSocketEvent.d.mts +0 -20
- package/lib/core/ws/handleWebSocketEvent.d.ts +0 -20
- package/lib/core/ws/handleWebSocketEvent.js +0 -61
- package/lib/core/ws/handleWebSocketEvent.js.map +0 -1
- package/lib/core/ws/handleWebSocketEvent.mjs +0 -43
- package/lib/core/ws/handleWebSocketEvent.mjs.map +0 -1
- package/lib/core/ws/utils/attachWebSocketLogger.d.mts +0 -18
- package/lib/core/ws/utils/attachWebSocketLogger.d.ts +0 -18
- package/lib/core/ws/utils/attachWebSocketLogger.js +0 -228
- package/lib/core/ws/utils/attachWebSocketLogger.js.map +0 -1
- package/lib/core/ws/utils/attachWebSocketLogger.mjs +0 -208
- package/lib/core/ws/utils/attachWebSocketLogger.mjs.map +0 -1
- package/lib/core/ws/utils/getMessageLength.d.mts +0 -11
- package/lib/core/ws/utils/getMessageLength.d.ts +0 -11
- package/lib/core/ws/utils/getMessageLength.js +0 -34
- package/lib/core/ws/utils/getMessageLength.js.map +0 -1
- package/lib/core/ws/utils/getMessageLength.mjs +0 -14
- package/lib/core/ws/utils/getMessageLength.mjs.map +0 -1
- package/lib/core/ws/utils/getPublicData.d.mts +0 -5
- package/lib/core/ws/utils/getPublicData.d.ts +0 -5
- package/lib/core/ws/utils/getPublicData.js +0 -37
- package/lib/core/ws/utils/getPublicData.js.map +0 -1
- package/lib/core/ws/utils/getPublicData.mjs +0 -17
- package/lib/core/ws/utils/getPublicData.mjs.map +0 -1
- package/lib/core/ws/utils/truncateMessage.d.mts +0 -3
- package/lib/core/ws/utils/truncateMessage.d.ts +0 -3
- package/lib/core/ws/utils/truncateMessage.js +0 -31
- package/lib/core/ws/utils/truncateMessage.js.map +0 -1
- package/lib/core/ws/utils/truncateMessage.mjs +0 -11
- package/lib/core/ws/utils/truncateMessage.mjs.map +0 -1
- package/lib/core/ws/webSocketInterceptor.d.mts +0 -5
- package/lib/core/ws/webSocketInterceptor.d.ts +0 -5
- package/lib/core/ws/webSocketInterceptor.js +0 -26
- package/lib/core/ws/webSocketInterceptor.js.map +0 -1
- package/lib/core/ws/webSocketInterceptor.mjs +0 -6
- package/lib/core/ws/webSocketInterceptor.mjs.map +0 -1
- package/lib/core/ws.d.mts +0 -88
- package/lib/core/ws.d.ts +0 -88
- package/lib/core/ws.js +0 -94
- package/lib/core/ws.js.map +0 -1
- package/lib/core/ws.mjs +0 -80
- package/lib/core/ws.mjs.map +0 -1
- package/lib/native/index.d.mts +0 -66
- package/lib/native/index.d.ts +0 -66
- package/lib/native/index.js +0 -88
- package/lib/native/index.js.map +0 -1
- package/lib/native/index.mjs +0 -67
- package/lib/native/index.mjs.map +0 -1
- package/lib/node/index.d.mts +0 -113
- package/lib/node/index.mjs +0 -185
- package/lib/node/index.mjs.map +0 -1
- package/lib/shims/cookie.d.mts +0 -7
- package/lib/shims/cookie.d.ts +0 -7
- package/lib/shims/cookie.js +0 -294
- package/lib/shims/cookie.mjs +0 -286
- package/lib/shims/statuses.d.mts +0 -6
- package/lib/shims/statuses.d.ts +0 -6
- package/lib/shims/statuses.js +0 -195
- package/lib/shims/statuses.mjs +0 -187
- package/native/package.json +0 -30
- package/node/package.json +0 -33
- package/src/browser/utils/pruneGetRequestBody.test.ts +0 -51
- package/src/browser/utils/pruneGetRequestBody.ts +0 -21
- package/src/core/experimental/compat.ts +0 -50
- package/src/core/experimental/setup-api.ts +0 -55
- package/src/core/graphql.test.ts +0 -11
- package/src/core/graphql.ts +0 -136
- package/src/core/passthrough.test.ts +0 -11
- package/src/core/passthrough.ts +0 -25
- package/src/core/sharedOptions.ts +0 -71
- package/src/core/typeUtils.ts +0 -26
- package/src/core/utils/handleRequest.test.ts +0 -574
- package/src/core/utils/handleRequest.ts +0 -117
- package/src/core/utils/internal/checkGlobals.ts +0 -17
- package/src/core/utils/internal/isHandlerKind.test.ts +0 -62
- package/src/core/utils/internal/isHandlerKind.ts +0 -17
- package/src/core/utils/internal/isIterable.ts +0 -32
- package/src/core/utils/internal/mergeRight.test.ts +0 -43
- package/src/core/utils/internal/mergeRight.ts +0 -30
- package/src/core/utils/internal/pipeEvents.test.ts +0 -14
- package/src/core/utils/internal/pipeEvents.ts +0 -26
- package/src/core/utils/internal/tryCatch.test.ts +0 -29
- package/src/core/utils/internal/tryCatch.ts +0 -11
- package/src/core/utils/matching/matchRequestUrl.test.ts +0 -267
- package/src/core/utils/matching/matchRequestUrl.ts +0 -77
- package/src/core/utils/request/getRequestCookies.ts +0 -88
- package/src/core/utils/request/onUnhandledRequest.node.test.ts +0 -62
- package/src/core/utils/request/onUnhandledRequest.test.ts +0 -226
- package/src/core/utils/request/onUnhandledRequest.ts +0 -81
- package/src/core/utils/request/storeResponseCookies.ts +0 -15
- package/src/core/utils/url/cleanUrl.test.ts +0 -22
- package/src/core/utils/url/cleanUrl.ts +0 -16
- package/src/core/utils/url/isAbsoluteUrl.test.ts +0 -32
- package/src/core/ws/handleWebSocketEvent.ts +0 -68
- package/src/core/ws/utils/getPublicData.ts +0 -18
- package/src/core/ws/webSocketInterceptor.ts +0 -3
- package/src/native/index.ts +0 -44
- package/src/package.json +0 -3
- package/src/shims/cookie.ts +0 -7
- package/src/shims/statuses.ts +0 -6
- /package/src/browser/utils/{getAbsoluteWorkerUrl.ts → get-absolute-worker-url.ts} +0 -0
- /package/src/core/utils/internal/{devUtils.ts → dev-utils.ts} +0 -0
- /package/src/core/utils/internal/{isObject.ts → is-object.ts} +0 -0
- /package/src/core/utils/internal/{isStringEqual.ts → is-string-equal.ts} +0 -0
- /package/src/core/utils/internal/{jsonParse.ts → json-parse.ts} +0 -0
- /package/src/core/utils/internal/{toReadonlyArray.ts → to-readonly-array.ts} +0 -0
- /package/src/core/utils/logging/{getStatusCodeColor.ts → get-status-code-color.ts} +0 -0
- /package/src/core/utils/logging/{getTimestamp.ts → get-timestamp.ts} +0 -0
- /package/src/core/utils/logging/{serializeRequest.ts → serialize-request.ts} +0 -0
- /package/src/core/utils/request/{getAllAcceptedMimeTypes.ts → get-all-accepted-mime-types.ts} +0 -0
- /package/src/core/utils/request/{toPublicUrl.ts → to-public-url.ts} +0 -0
- /package/src/core/utils/{toResponseInit.ts → to-response-init.ts} +0 -0
- /package/src/core/utils/url/{isAbsoluteUrl.ts → is-absolute-url.ts} +0 -0
- /package/src/{core → http}/http.test.ts +0 -0
- /package/src/{core/ws/utils/truncateMessage.ts → ws/utils/truncate-message.ts} +0 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { graphql } from './graphql'
|
|
2
|
+
|
|
3
|
+
test('exposes the link-first GraphQL api', () => {
|
|
4
|
+
expect(graphql).toBeDefined()
|
|
5
|
+
expect(Object.keys(graphql)).toEqual(['link'])
|
|
6
|
+
|
|
7
|
+
const link = graphql.link('https://api.example.com/graphql')
|
|
8
|
+
expect(Object.keys(link)).toEqual([
|
|
9
|
+
'operation',
|
|
10
|
+
'query',
|
|
11
|
+
'mutation',
|
|
12
|
+
'subscription',
|
|
13
|
+
])
|
|
14
|
+
})
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
ResponseResolver,
|
|
3
|
+
RequestHandlerOptions,
|
|
4
|
+
} from '#core/handlers/request-handler'
|
|
5
|
+
import {
|
|
6
|
+
GraphQLHandler,
|
|
7
|
+
type GraphQLVariables,
|
|
8
|
+
type GraphQLOperationType,
|
|
9
|
+
type GraphQLResolverExtras,
|
|
10
|
+
type GraphQLResponseBody,
|
|
11
|
+
type GraphQLQuery,
|
|
12
|
+
type GraphQLPredicate,
|
|
13
|
+
} from './graphql-handler'
|
|
14
|
+
import { createRequestId } from '@mswjs/interceptors'
|
|
15
|
+
import { getAllRequestCookies } from '#core/utils/request/get-request-cookies'
|
|
16
|
+
import type { Path } from '#core/utils/matching/match-request-url'
|
|
17
|
+
import { attachSiblingHandlers } from '#core/utils/internal/attach-sibling-handlers'
|
|
18
|
+
import {
|
|
19
|
+
createGraphQLSubscriptionHandler,
|
|
20
|
+
type GraphQLSubscriptionHandlerFactory,
|
|
21
|
+
} from './graphql-subscription'
|
|
22
|
+
|
|
23
|
+
export type GraphQLRequestHandler = <
|
|
24
|
+
Query extends GraphQLQuery = GraphQLQuery,
|
|
25
|
+
Variables extends GraphQLVariables = GraphQLVariables,
|
|
26
|
+
>(
|
|
27
|
+
predicate: GraphQLPredicate<Query, Variables>,
|
|
28
|
+
resolver: GraphQLResponseResolver<
|
|
29
|
+
[Query] extends [never] ? GraphQLQuery : Query,
|
|
30
|
+
Variables
|
|
31
|
+
>,
|
|
32
|
+
options?: RequestHandlerOptions,
|
|
33
|
+
) => GraphQLHandler
|
|
34
|
+
|
|
35
|
+
export type GraphQLOperationHandler = <
|
|
36
|
+
Query extends GraphQLQuery = GraphQLQuery,
|
|
37
|
+
Variables extends GraphQLVariables = GraphQLVariables,
|
|
38
|
+
>(
|
|
39
|
+
resolver: GraphQLResponseResolver<
|
|
40
|
+
[Query] extends [never] ? GraphQLQuery : Query,
|
|
41
|
+
Variables
|
|
42
|
+
>,
|
|
43
|
+
options?: RequestHandlerOptions,
|
|
44
|
+
) => GraphQLHandler
|
|
45
|
+
|
|
46
|
+
export type GraphQLResponseResolver<
|
|
47
|
+
Query extends GraphQLQuery = GraphQLQuery,
|
|
48
|
+
Variables extends GraphQLVariables = GraphQLVariables,
|
|
49
|
+
> = ResponseResolver<
|
|
50
|
+
GraphQLResolverExtras<Variables>,
|
|
51
|
+
null,
|
|
52
|
+
GraphQLResponseBody<[Query] extends [never] ? GraphQLQuery : Query>
|
|
53
|
+
>
|
|
54
|
+
|
|
55
|
+
function createScopedGraphQLHandler(
|
|
56
|
+
operationType: GraphQLOperationType,
|
|
57
|
+
url: Path,
|
|
58
|
+
): GraphQLRequestHandler {
|
|
59
|
+
return (predicate, resolver, options = {}) => {
|
|
60
|
+
return new GraphQLHandler(operationType, predicate, url, resolver, options)
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function createGraphQLOperationHandler(
|
|
65
|
+
url: Path,
|
|
66
|
+
subscriptionFactory?: GraphQLSubscriptionHandlerFactory,
|
|
67
|
+
): GraphQLOperationHandler {
|
|
68
|
+
/**
|
|
69
|
+
* @note An explicitly generic function so the subscription sibling
|
|
70
|
+
* can be created with the same `Query`/`Variables` types as the
|
|
71
|
+
* operation resolver, without casting its resolver info.
|
|
72
|
+
*/
|
|
73
|
+
return <
|
|
74
|
+
Query extends GraphQLQuery = GraphQLQuery,
|
|
75
|
+
Variables extends GraphQLVariables = GraphQLVariables,
|
|
76
|
+
>(
|
|
77
|
+
resolver: GraphQLResponseResolver<
|
|
78
|
+
[Query] extends [never] ? GraphQLQuery : Query,
|
|
79
|
+
Variables
|
|
80
|
+
>,
|
|
81
|
+
options?: RequestHandlerOptions,
|
|
82
|
+
): GraphQLHandler => {
|
|
83
|
+
const handler = new GraphQLHandler(
|
|
84
|
+
'all',
|
|
85
|
+
new RegExp('.*'),
|
|
86
|
+
url,
|
|
87
|
+
resolver,
|
|
88
|
+
options,
|
|
89
|
+
)
|
|
90
|
+
|
|
91
|
+
if (!subscriptionFactory) {
|
|
92
|
+
return handler
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Attach a catch-all subscription handler as a sibling so the
|
|
96
|
+
// operation handler also matches GraphQL subscriptions over WebSocket.
|
|
97
|
+
// The subscription transport guarantees only actual GraphQL
|
|
98
|
+
// subscriptions are dispatched to it.
|
|
99
|
+
const subscriptionCatchAllHandler = subscriptionFactory<Query, Variables>(
|
|
100
|
+
new RegExp('.*'),
|
|
101
|
+
({ operationName, subscription, request, finalize }) => {
|
|
102
|
+
/**
|
|
103
|
+
* @note Subscriptions are resolved imperatively, so the return
|
|
104
|
+
* value of the resolver is ignored. The request describes the
|
|
105
|
+
* WebSocket connection this subscription is multiplexed over.
|
|
106
|
+
*/
|
|
107
|
+
resolver({
|
|
108
|
+
operationName,
|
|
109
|
+
query: subscription.query,
|
|
110
|
+
variables: subscription.variables,
|
|
111
|
+
cookies: getAllRequestCookies(request),
|
|
112
|
+
request,
|
|
113
|
+
requestId: createRequestId(),
|
|
114
|
+
finalize,
|
|
115
|
+
})
|
|
116
|
+
},
|
|
117
|
+
// Forward the handler options so a one-time operation handler is
|
|
118
|
+
// also consumed by the first subscription it matches.
|
|
119
|
+
options,
|
|
120
|
+
)
|
|
121
|
+
|
|
122
|
+
return attachSiblingHandlers(handler, [subscriptionCatchAllHandler])
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
export interface GraphQLLink {
|
|
127
|
+
query: GraphQLRequestHandler
|
|
128
|
+
mutation: GraphQLRequestHandler
|
|
129
|
+
operation: GraphQLOperationHandler
|
|
130
|
+
/**
|
|
131
|
+
* Intercept a GraphQL subscription.
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* const api = graphql.link('https://api.example.com/graphql')
|
|
135
|
+
* api.subscription('OnPostAdded', ({ subscription }) => {
|
|
136
|
+
* subscription.publish({
|
|
137
|
+
* data: { postAdded: { id: 'abc-123' } },
|
|
138
|
+
* })
|
|
139
|
+
* })
|
|
140
|
+
*/
|
|
141
|
+
subscription: GraphQLSubscriptionHandlerFactory
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* A namespace to intercept and mock GraphQL operations
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* const api = graphql.link('https://api.example.com/graphql')
|
|
149
|
+
* api.query('GetUser', resolver)
|
|
150
|
+
* api.mutation('DeletePost', resolver)
|
|
151
|
+
*
|
|
152
|
+
* @see {@link https://mswjs.io/docs/api/graphql `graphql` API reference}
|
|
153
|
+
*/
|
|
154
|
+
export const graphql = {
|
|
155
|
+
/**
|
|
156
|
+
* Intercepts GraphQL operations scoped by the given URL.
|
|
157
|
+
*
|
|
158
|
+
* @example
|
|
159
|
+
* const github = graphql.link('https://api.github.com/graphql')
|
|
160
|
+
* github.query('GetRepo', resolver)
|
|
161
|
+
*
|
|
162
|
+
* @see {@link https://mswjs.io/docs/api/graphql#graphqllinkurl `graphql.link()` API reference}
|
|
163
|
+
*/
|
|
164
|
+
link(url: Path): GraphQLLink {
|
|
165
|
+
/**
|
|
166
|
+
* @note Create the subscription handler factory once per link so
|
|
167
|
+
* the `subscription()` and `operation()` handlers share the same
|
|
168
|
+
* underlying subscription transport (deduped by reference).
|
|
169
|
+
*/
|
|
170
|
+
const subscription = createGraphQLSubscriptionHandler(url)
|
|
171
|
+
|
|
172
|
+
return {
|
|
173
|
+
operation: createGraphQLOperationHandler(url, subscription),
|
|
174
|
+
query: createScopedGraphQLHandler('query', url),
|
|
175
|
+
mutation: createScopedGraphQLHandler('mutation', url),
|
|
176
|
+
subscription,
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export {
|
|
2
|
+
graphql,
|
|
3
|
+
type GraphQLRequestHandler,
|
|
4
|
+
type GraphQLOperationHandler,
|
|
5
|
+
type GraphQLResponseResolver,
|
|
6
|
+
type GraphQLLink,
|
|
7
|
+
} from './graphql'
|
|
8
|
+
|
|
9
|
+
export {
|
|
10
|
+
GraphQLHandler,
|
|
11
|
+
type GraphQLQuery,
|
|
12
|
+
type GraphQLVariables,
|
|
13
|
+
type GraphQLRequestBody,
|
|
14
|
+
type GraphQLResponseBody,
|
|
15
|
+
type GraphQLJsonRequestBody,
|
|
16
|
+
type GraphQLOperationType,
|
|
17
|
+
type GraphQLCustomPredicate,
|
|
18
|
+
} from './graphql-handler'
|
|
19
|
+
|
|
20
|
+
export type { ParsedGraphQLRequest } from './parse-graphql-request'
|
|
21
|
+
|
|
22
|
+
export {
|
|
23
|
+
createGraphQLSubscriptionHandler,
|
|
24
|
+
GraphQLSubscription,
|
|
25
|
+
GraphQLSubscriptionHandler,
|
|
26
|
+
GraphQLPassthroughSubscription,
|
|
27
|
+
type GraphQLSubscriptionHandlerFactory,
|
|
28
|
+
type GraphQLSubscriptionHandlerOptions,
|
|
29
|
+
type GraphQLSubscriptionName,
|
|
30
|
+
type GraphQLSubscriptionPayload,
|
|
31
|
+
type GraphQLSubscriptionResolver,
|
|
32
|
+
type GraphQLSubscriptionResolverInfo,
|
|
33
|
+
type GraphQLPassthroughSubscriptionEventMap,
|
|
34
|
+
} from './graphql-subscription'
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @vitest-environment jsdom
|
|
3
|
-
*/
|
|
4
1
|
import { encodeBuffer } from '@mswjs/interceptors'
|
|
5
|
-
import { OperationTypeNode } from 'graphql'
|
|
6
|
-
import
|
|
7
|
-
|
|
2
|
+
import { OperationTypeNode, parse } from 'graphql'
|
|
3
|
+
import {
|
|
4
|
+
parseDocumentNode,
|
|
5
|
+
parseGraphQLRequest,
|
|
6
|
+
type ParsedGraphQLQuery,
|
|
7
|
+
type ParsedGraphQLRequest,
|
|
8
|
+
} from './parse-graphql-request'
|
|
8
9
|
|
|
9
10
|
test('returns true given a GraphQL-compatible request', async () => {
|
|
10
11
|
const getRequest = new Request(
|
|
@@ -95,3 +96,43 @@ test('does not read the original request body', async () => {
|
|
|
95
96
|
// is an internal operation that must not lock the body stream.
|
|
96
97
|
expect(request.bodyUsed).toBe(false)
|
|
97
98
|
})
|
|
99
|
+
|
|
100
|
+
describe('parseDocumentNode', () => {
|
|
101
|
+
const document = parse(`
|
|
102
|
+
query GetComments {
|
|
103
|
+
comments {
|
|
104
|
+
text
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
subscription OnCommentAdded {
|
|
109
|
+
commentAdded {
|
|
110
|
+
text
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
`)
|
|
114
|
+
|
|
115
|
+
test('returns the first operation given no operation name', () => {
|
|
116
|
+
expect(parseDocumentNode(document)).toEqual<ParsedGraphQLQuery>({
|
|
117
|
+
operationType: OperationTypeNode.QUERY,
|
|
118
|
+
operationName: 'GetComments',
|
|
119
|
+
})
|
|
120
|
+
})
|
|
121
|
+
|
|
122
|
+
test('returns the operation matching the given operation name', () => {
|
|
123
|
+
expect(
|
|
124
|
+
parseDocumentNode(document, 'OnCommentAdded'),
|
|
125
|
+
).toEqual<ParsedGraphQLQuery>({
|
|
126
|
+
operationType: OperationTypeNode.SUBSCRIPTION,
|
|
127
|
+
operationName: 'OnCommentAdded',
|
|
128
|
+
})
|
|
129
|
+
})
|
|
130
|
+
|
|
131
|
+
test('resolves no operation given an unknown operation name', () => {
|
|
132
|
+
expect(parseDocumentNode(document, 'Unknown')).toEqual<ParsedGraphQLQuery>({
|
|
133
|
+
operationType: undefined,
|
|
134
|
+
// The requested name is echoed back for diagnostics.
|
|
135
|
+
operationName: 'Unknown',
|
|
136
|
+
})
|
|
137
|
+
})
|
|
138
|
+
})
|
|
@@ -1,21 +1,27 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import {
|
|
2
|
+
parse,
|
|
3
|
+
type DocumentNode,
|
|
4
|
+
type OperationDefinitionNode,
|
|
5
|
+
type OperationTypeNode,
|
|
5
6
|
} from 'graphql'
|
|
6
|
-
import type { GraphQLVariables } from '
|
|
7
|
-
import { toPublicUrl } from '
|
|
8
|
-
import { devUtils } from '
|
|
9
|
-
import { jsonParse } from '
|
|
10
|
-
import { parseMultipartData } from '
|
|
7
|
+
import type { GraphQLVariables } from './graphql-handler'
|
|
8
|
+
import { toPublicUrl } from '#core/utils/request/to-public-url'
|
|
9
|
+
import { devUtils } from '#core/utils/internal/dev-utils'
|
|
10
|
+
import { jsonParse } from '#core/utils/internal/json-parse'
|
|
11
|
+
import { parseMultipartData } from '#core/utils/internal/parse-multipart-data'
|
|
11
12
|
|
|
12
13
|
interface GraphQLInput {
|
|
13
14
|
query: string | null
|
|
14
15
|
variables?: GraphQLVariables
|
|
16
|
+
operationName?: string | null
|
|
15
17
|
}
|
|
16
18
|
|
|
17
19
|
export interface ParsedGraphQLQuery {
|
|
18
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Undefined if the document has no operation matching the
|
|
22
|
+
* requested operation name.
|
|
23
|
+
*/
|
|
24
|
+
operationType?: OperationTypeNode
|
|
19
25
|
operationName?: string
|
|
20
26
|
}
|
|
21
27
|
|
|
@@ -28,36 +34,51 @@ export type ParsedGraphQLRequest<
|
|
|
28
34
|
})
|
|
29
35
|
| undefined
|
|
30
36
|
|
|
31
|
-
export function parseDocumentNode(
|
|
32
|
-
|
|
37
|
+
export function parseDocumentNode(
|
|
38
|
+
node: DocumentNode,
|
|
39
|
+
operationName?: string | null,
|
|
40
|
+
): ParsedGraphQLQuery {
|
|
41
|
+
const operationDefs = node.definitions.filter((definition) => {
|
|
33
42
|
return definition.kind === 'OperationDefinition'
|
|
34
|
-
}) as OperationDefinitionNode
|
|
43
|
+
}) as Array<OperationDefinitionNode>
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* @note A document may bundle multiple operations (e.g. the ones
|
|
47
|
+
* emitted by GraphQL Code Generator). Honor the requested operation
|
|
48
|
+
* name, and resolve nothing if the document has no such operation.
|
|
49
|
+
* Falling back to the first operation would silently resolve one the
|
|
50
|
+
* client never asked for.
|
|
51
|
+
*/
|
|
52
|
+
const operationDef = operationName
|
|
53
|
+
? operationDefs.find((definition) => {
|
|
54
|
+
return definition.name?.value === operationName
|
|
55
|
+
})
|
|
56
|
+
: operationDefs[0]
|
|
35
57
|
|
|
36
58
|
return {
|
|
37
59
|
operationType: operationDef?.operation,
|
|
38
|
-
|
|
60
|
+
/**
|
|
61
|
+
* @note Echo the requested operation name even when the document
|
|
62
|
+
* has no such operation. It makes the "unhandled operation" warnings
|
|
63
|
+
* name the operation the client actually asked for.
|
|
64
|
+
*/
|
|
65
|
+
operationName: operationDef?.name?.value || operationName || undefined,
|
|
39
66
|
}
|
|
40
67
|
}
|
|
41
68
|
|
|
42
|
-
async function parseQuery(
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
* root export. It has to be `require` because tools like Jest have trouble
|
|
47
|
-
* handling dynamic imports. It gets replaced with a dynamic import on build time.
|
|
48
|
-
*/
|
|
49
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
50
|
-
const { parse } = require('graphql')
|
|
51
|
-
|
|
69
|
+
async function parseQuery(
|
|
70
|
+
query: string,
|
|
71
|
+
operationName?: string | null,
|
|
72
|
+
): Promise<ParsedGraphQLQuery | Error> {
|
|
52
73
|
try {
|
|
53
74
|
const ast = parse(query)
|
|
54
|
-
return parseDocumentNode(ast)
|
|
75
|
+
return parseDocumentNode(ast, operationName)
|
|
55
76
|
} catch (error) {
|
|
56
77
|
return error as Error
|
|
57
78
|
}
|
|
58
79
|
}
|
|
59
80
|
|
|
60
|
-
|
|
81
|
+
type GraphQLParsedOperationsMap = Record<string, string[]>
|
|
61
82
|
export type GraphQLMultipartRequestBody = {
|
|
62
83
|
operations: string
|
|
63
84
|
map?: string
|
|
@@ -107,6 +128,7 @@ async function getGraphQLInput(request: Request): Promise<GraphQLInput | null> {
|
|
|
107
128
|
return {
|
|
108
129
|
query,
|
|
109
130
|
variables: jsonParse(variables),
|
|
131
|
+
operationName: url.searchParams.get('operationName'),
|
|
110
132
|
}
|
|
111
133
|
}
|
|
112
134
|
|
|
@@ -130,9 +152,11 @@ async function getGraphQLInput(request: Request): Promise<GraphQLInput | null> {
|
|
|
130
152
|
|
|
131
153
|
const { operations, map, ...files } = responseJson
|
|
132
154
|
const parsedOperations =
|
|
133
|
-
jsonParse<{
|
|
134
|
-
|
|
135
|
-
|
|
155
|
+
jsonParse<{
|
|
156
|
+
query?: string
|
|
157
|
+
variables?: GraphQLVariables
|
|
158
|
+
operationName?: string | null
|
|
159
|
+
}>(operations) || {}
|
|
136
160
|
|
|
137
161
|
if (!parsedOperations.query) {
|
|
138
162
|
return null
|
|
@@ -150,6 +174,7 @@ async function getGraphQLInput(request: Request): Promise<GraphQLInput | null> {
|
|
|
150
174
|
return {
|
|
151
175
|
query: parsedOperations.query,
|
|
152
176
|
variables,
|
|
177
|
+
operationName: parsedOperations.operationName,
|
|
153
178
|
}
|
|
154
179
|
}
|
|
155
180
|
|
|
@@ -157,15 +182,17 @@ async function getGraphQLInput(request: Request): Promise<GraphQLInput | null> {
|
|
|
157
182
|
const requestJson: {
|
|
158
183
|
query: string
|
|
159
184
|
variables?: GraphQLVariables
|
|
185
|
+
operationName?: string | null
|
|
160
186
|
operations?: any /** @todo Annotate this */
|
|
161
187
|
} = await requestClone.json().catch(() => null)
|
|
162
188
|
|
|
163
189
|
if (requestJson?.query) {
|
|
164
|
-
const { query, variables } = requestJson
|
|
190
|
+
const { query, variables, operationName } = requestJson
|
|
165
191
|
|
|
166
192
|
return {
|
|
167
193
|
query,
|
|
168
194
|
variables,
|
|
195
|
+
operationName,
|
|
169
196
|
}
|
|
170
197
|
}
|
|
171
198
|
return null
|
|
@@ -189,8 +216,8 @@ export async function parseGraphQLRequest(
|
|
|
189
216
|
return
|
|
190
217
|
}
|
|
191
218
|
|
|
192
|
-
const { query, variables } = input
|
|
193
|
-
const parsedResult = await parseQuery(query)
|
|
219
|
+
const { query, variables, operationName } = input
|
|
220
|
+
const parsedResult = await parseQuery(query, operationName)
|
|
194
221
|
|
|
195
222
|
if (parsedResult instanceof Error) {
|
|
196
223
|
const requestPublicUrl = toPublicUrl(request.url)
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// @vitest-environment jsdom
|
|
2
|
-
import { createRequestId } from '@mswjs/interceptors'
|
|
3
|
-
import type { HttpRequestResolverExtras } from './
|
|
4
|
-
import { HttpHandler } from './
|
|
5
|
-
import { HttpResponse } from '
|
|
6
|
-
import type { ResponseResolver } from '
|
|
2
|
+
import { createRequestId, FetchRequest } from '@mswjs/interceptors'
|
|
3
|
+
import type { HttpRequestResolverExtras } from './http-handler'
|
|
4
|
+
import { HttpHandler } from './http-handler'
|
|
5
|
+
import { HttpResponse } from './index'
|
|
6
|
+
import type { ResponseResolver } from '#core/handlers/request-handler'
|
|
7
7
|
|
|
8
8
|
const resolver: ResponseResolver<
|
|
9
9
|
HttpRequestResolverExtras<{ userId: string }>
|
|
@@ -12,7 +12,7 @@ const resolver: ResponseResolver<
|
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
describe('info', () => {
|
|
15
|
-
|
|
15
|
+
test('exposes request handler information', () => {
|
|
16
16
|
const handler = new HttpHandler('GET', '/user/:userId', resolver)
|
|
17
17
|
|
|
18
18
|
expect(handler.info.header).toEqual('GET /user/:userId')
|
|
@@ -23,7 +23,7 @@ describe('info', () => {
|
|
|
23
23
|
})
|
|
24
24
|
|
|
25
25
|
describe('parse', () => {
|
|
26
|
-
|
|
26
|
+
test('parses a URL given a matching request', async () => {
|
|
27
27
|
const handler = new HttpHandler('GET', '/user/:userId', resolver)
|
|
28
28
|
const request = new Request(new URL('/user/abc-123', location.href))
|
|
29
29
|
|
|
@@ -38,7 +38,7 @@ describe('parse', () => {
|
|
|
38
38
|
})
|
|
39
39
|
})
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
test('parses a URL and ignores the request method', async () => {
|
|
42
42
|
const handler = new HttpHandler('GET', '/user/:userId', resolver)
|
|
43
43
|
const request = new Request(new URL('/user/def-456', location.href), {
|
|
44
44
|
method: 'POST',
|
|
@@ -55,7 +55,7 @@ describe('parse', () => {
|
|
|
55
55
|
})
|
|
56
56
|
})
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
test('returns negative match result given a non-matching request', async () => {
|
|
59
59
|
const handler = new HttpHandler('GET', '/user/:userId', resolver)
|
|
60
60
|
const request = new Request(new URL('/login', location.href))
|
|
61
61
|
|
|
@@ -70,7 +70,25 @@ describe('parse', () => {
|
|
|
70
70
|
})
|
|
71
71
|
|
|
72
72
|
describe('predicate', () => {
|
|
73
|
-
|
|
73
|
+
/**
|
|
74
|
+
* @todo Decide whether `http.all()` matches CONNECT requests
|
|
75
|
+
* once `http.connect()` is supported.
|
|
76
|
+
*/
|
|
77
|
+
test('returns false given a CONNECT request', async () => {
|
|
78
|
+
const handler = new HttpHandler(/.+/, '*', resolver)
|
|
79
|
+
const request = new FetchRequest('http://localhost/127.0.0.1:443', {
|
|
80
|
+
method: 'CONNECT',
|
|
81
|
+
})
|
|
82
|
+
|
|
83
|
+
await expect(
|
|
84
|
+
handler.predicate({
|
|
85
|
+
request,
|
|
86
|
+
parsedResult: await handler.parse({ request }),
|
|
87
|
+
}),
|
|
88
|
+
).resolves.toBe(false)
|
|
89
|
+
})
|
|
90
|
+
|
|
91
|
+
test('returns true given a matching request', async () => {
|
|
74
92
|
const handler = new HttpHandler('POST', '/login', resolver)
|
|
75
93
|
const request = new Request(new URL('/login', location.href), {
|
|
76
94
|
method: 'POST',
|
|
@@ -84,7 +102,7 @@ describe('predicate', () => {
|
|
|
84
102
|
).resolves.toBe(true)
|
|
85
103
|
})
|
|
86
104
|
|
|
87
|
-
|
|
105
|
+
test('supports RegExp as the request method', async () => {
|
|
88
106
|
const handler = new HttpHandler(/.+/, '/login', resolver)
|
|
89
107
|
const requests = [
|
|
90
108
|
new Request(new URL('/login', location.href)),
|
|
@@ -102,7 +120,7 @@ describe('predicate', () => {
|
|
|
102
120
|
}
|
|
103
121
|
})
|
|
104
122
|
|
|
105
|
-
|
|
123
|
+
test('returns false given a non-matching request', async () => {
|
|
106
124
|
const handler = new HttpHandler('POST', '/login', resolver)
|
|
107
125
|
const request = new Request(new URL('/user/abc-123', location.href))
|
|
108
126
|
|
|
@@ -114,7 +132,7 @@ describe('predicate', () => {
|
|
|
114
132
|
).resolves.toBe(false)
|
|
115
133
|
})
|
|
116
134
|
|
|
117
|
-
|
|
135
|
+
test('supports custom predicate function', async () => {
|
|
118
136
|
const handler = new HttpHandler(
|
|
119
137
|
'GET',
|
|
120
138
|
({ request }) => {
|
|
@@ -146,7 +164,7 @@ describe('predicate', () => {
|
|
|
146
164
|
})
|
|
147
165
|
|
|
148
166
|
describe('test', () => {
|
|
149
|
-
|
|
167
|
+
test('returns true given a matching request', async () => {
|
|
150
168
|
const handler = new HttpHandler('GET', '/user/:userId', resolver)
|
|
151
169
|
const firstTest = await handler.test({
|
|
152
170
|
request: new Request(new URL('/user/abc-123', location.href)),
|
|
@@ -159,7 +177,7 @@ describe('test', () => {
|
|
|
159
177
|
expect(secondTest).toBe(true)
|
|
160
178
|
})
|
|
161
179
|
|
|
162
|
-
|
|
180
|
+
test('returns false given a non-matching request', async () => {
|
|
163
181
|
const handler = new HttpHandler('GET', '/user/:userId', resolver)
|
|
164
182
|
const firstTest = await handler.test({
|
|
165
183
|
request: new Request(new URL('/login', location.href)),
|
|
@@ -178,7 +196,7 @@ describe('test', () => {
|
|
|
178
196
|
})
|
|
179
197
|
|
|
180
198
|
describe('run', () => {
|
|
181
|
-
|
|
199
|
+
test('returns a mocked response given a matching request', async () => {
|
|
182
200
|
const handler = new HttpHandler('GET', '/user/:userId', resolver)
|
|
183
201
|
const request = new Request(new URL('/user/abc-123', location.href))
|
|
184
202
|
const requestId = createRequestId()
|
|
@@ -203,7 +221,7 @@ describe('run', () => {
|
|
|
203
221
|
})
|
|
204
222
|
})
|
|
205
223
|
|
|
206
|
-
|
|
224
|
+
test('returns null given a non-matching request', async () => {
|
|
207
225
|
const handler = new HttpHandler('POST', '/login', resolver)
|
|
208
226
|
const result = await handler.run({
|
|
209
227
|
request: new Request(new URL('/users', location.href)),
|
|
@@ -213,7 +231,7 @@ describe('run', () => {
|
|
|
213
231
|
expect(result).toBeNull()
|
|
214
232
|
})
|
|
215
233
|
|
|
216
|
-
|
|
234
|
+
test('returns an empty "params" object given request with no URL parameters', async () => {
|
|
217
235
|
const handler = new HttpHandler('GET', '/users', resolver)
|
|
218
236
|
const result = await handler.run({
|
|
219
237
|
request: new Request(new URL('/users', location.href)),
|
|
@@ -223,7 +241,7 @@ describe('run', () => {
|
|
|
223
241
|
expect(result?.parsedResult?.match?.params).toEqual({})
|
|
224
242
|
})
|
|
225
243
|
|
|
226
|
-
|
|
244
|
+
test('exhausts resolver until its generator completes', async () => {
|
|
227
245
|
const handler = new HttpHandler('GET', '/users', function* () {
|
|
228
246
|
let count = 0
|
|
229
247
|
|
|
@@ -254,7 +272,7 @@ describe('run', () => {
|
|
|
254
272
|
})
|
|
255
273
|
|
|
256
274
|
describe('finalize', () => {
|
|
257
|
-
|
|
275
|
+
test('returns the exact response instance if the resolver never accesses finalize', async () => {
|
|
258
276
|
const response = new HttpResponse(
|
|
259
277
|
new ReadableStream({
|
|
260
278
|
start(controller) {
|
|
@@ -275,7 +293,7 @@ describe('finalize', () => {
|
|
|
275
293
|
expect(result?.response).toBe(response)
|
|
276
294
|
})
|
|
277
295
|
|
|
278
|
-
|
|
296
|
+
test('returns the exact response instance if finalize is accessed but never called', async () => {
|
|
279
297
|
const response = new HttpResponse(
|
|
280
298
|
new ReadableStream({
|
|
281
299
|
start(controller) {
|
|
@@ -296,7 +314,7 @@ describe('finalize', () => {
|
|
|
296
314
|
expect(result?.response).toBe(response)
|
|
297
315
|
})
|
|
298
316
|
|
|
299
|
-
|
|
317
|
+
test('defers the cleanup until the response stream settles', async () => {
|
|
300
318
|
const cleanup = vi.fn()
|
|
301
319
|
const response = new HttpResponse(
|
|
302
320
|
new ReadableStream({
|
|
@@ -326,7 +344,7 @@ describe('finalize', () => {
|
|
|
326
344
|
})
|
|
327
345
|
})
|
|
328
346
|
|
|
329
|
-
|
|
347
|
+
test('runs the cleanup immediately for responses without a body', async () => {
|
|
330
348
|
const cleanup = vi.fn()
|
|
331
349
|
const handler = new HttpHandler('GET', '/resource', ({ finalize }) => {
|
|
332
350
|
finalize(cleanup)
|