@mswjs/interceptors 0.41.9 → 0.42.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 +274 -228
- package/lib/browser/{bufferUtils-BiiO6HZv.mjs → buffer-utils-DJj7YzLG.js} +3 -3
- package/lib/browser/buffer-utils-DJj7YzLG.js.map +1 -0
- package/lib/browser/create-request-id-DlEd4GOA.js +184 -0
- package/lib/browser/create-request-id-DlEd4GOA.js.map +1 -0
- package/lib/browser/{getRawRequest-B1BqgWG6.mjs → fetch-utils-zxA_SD66.js} +123 -52
- package/lib/browser/fetch-utils-zxA_SD66.js.map +1 -0
- package/lib/browser/handle-request-CIOa9O-N.js +167 -0
- package/lib/browser/handle-request-CIOa9O-N.js.map +1 -0
- package/lib/{node/hasConfigurableGlobal-BiTmog1u.mjs → browser/has-configurable-global-Cew-dYqk.js} +5 -7
- package/lib/browser/has-configurable-global-Cew-dYqk.js.map +1 -0
- package/lib/browser/http-CB9rQ7i_.d.ts +105 -0
- package/lib/browser/{index.d.cts → index.d.ts} +33 -38
- package/lib/browser/index.js +130 -0
- package/lib/browser/index.js.map +1 -0
- package/lib/browser/interceptor-dtJZ_9QT.d.ts +50 -0
- package/lib/browser/interceptors/WebSocket/index.d.ts +2 -0
- package/lib/browser/interceptors/WebSocket/{index.mjs → index.js} +39 -30
- package/lib/browser/interceptors/WebSocket/index.js.map +1 -0
- package/lib/browser/interceptors/XMLHttpRequest/web.d.ts +11 -0
- package/lib/browser/interceptors/XMLHttpRequest/web.js +2 -0
- package/lib/browser/interceptors/fetch/web.d.ts +14 -0
- package/lib/browser/interceptors/fetch/web.js +2 -0
- package/lib/browser/presets/browser.d.ts +11 -0
- package/lib/browser/presets/browser.js +12 -0
- package/lib/browser/presets/browser.js.map +1 -0
- package/lib/browser/{resolveWebSocketUrl-C83-x9iE.mjs → resolve-web-socket-url-CSvNPLGi.js} +3 -3
- package/lib/browser/resolve-web-socket-url-CSvNPLGi.js.map +1 -0
- package/lib/browser/web-BjVDkiX0.js +248 -0
- package/lib/browser/web-BjVDkiX0.js.map +1 -0
- package/lib/browser/{XMLHttpRequest-DrZAf3w6.mjs → web-C2oKsT3Q.js} +327 -255
- package/lib/browser/web-C2oKsT3Q.js.map +1 -0
- package/lib/browser/{interceptors/WebSocket/index.d.cts → websocket-CC0nB0md.d.ts} +41 -33
- package/lib/node/batch-interceptor-ByEZVih3.js +119 -0
- package/lib/node/batch-interceptor-ByEZVih3.js.map +1 -0
- package/lib/node/batch-interceptor-CPjFK2td.d.ts +28 -0
- package/lib/node/buffer-utils-BvPY1Tc-.js +187 -0
- package/lib/node/buffer-utils-BvPY1Tc-.js.map +1 -0
- package/lib/node/fetch-utils-Dw1PsmtX.js +568 -0
- package/lib/node/fetch-utils-Dw1PsmtX.js.map +1 -0
- package/lib/node/has-configurable-global-CJCh_g1I.js +22 -0
- package/lib/node/has-configurable-global-CJCh_g1I.js.map +1 -0
- package/lib/node/http-CB9rQ7i_.d.ts +105 -0
- package/lib/{browser/interceptors/WebSocket/index.d.mts → node/index.d.ts} +120 -60
- package/lib/node/{index.mjs → index.js} +8 -11
- package/lib/node/index.js.map +1 -0
- package/lib/node/interceptor-dtJZ_9QT.d.ts +50 -0
- package/lib/node/interceptors/ClientRequest/index.d.ts +14 -0
- package/lib/node/interceptors/ClientRequest/index.js +67 -0
- package/lib/node/interceptors/ClientRequest/index.js.map +1 -0
- package/lib/node/interceptors/XMLHttpRequest/node.d.ts +12 -0
- package/lib/node/interceptors/XMLHttpRequest/node.js +74 -0
- package/lib/node/interceptors/XMLHttpRequest/node.js.map +1 -0
- package/lib/node/interceptors/fetch/node.d.ts +18 -0
- package/lib/node/interceptors/fetch/node.js +83 -0
- package/lib/node/interceptors/fetch/node.js.map +1 -0
- package/lib/node/interceptors/http/index.d.ts +14 -0
- package/lib/node/interceptors/http/index.js +32 -0
- package/lib/node/interceptors/http/index.js.map +1 -0
- package/lib/node/interceptors/net/index.d.ts +203 -0
- package/lib/node/interceptors/net/index.js +2 -0
- package/lib/node/llhttp/constants.cjs +485 -0
- package/lib/node/llhttp/constants.d.cts +957 -0
- package/lib/node/llhttp/llhttp.wasm +0 -0
- package/lib/node/net-DtMnyEeg.js +1388 -0
- package/lib/node/net-DtMnyEeg.js.map +1 -0
- package/lib/node/presets/node.d.ts +12 -0
- package/lib/node/presets/node.js +17 -0
- package/lib/node/presets/node.js.map +1 -0
- package/lib/node/{RemoteHttpInterceptor.d.cts → remote-http-interceptor.d.ts} +12 -11
- package/lib/node/{RemoteHttpInterceptor.mjs → remote-http-interceptor.js} +38 -33
- package/lib/node/remote-http-interceptor.js.map +1 -0
- package/lib/node/source-lP0yyEtA.js +1990 -0
- package/lib/node/source-lP0yyEtA.js.map +1 -0
- package/package.json +79 -118
- package/src/batch-interceptor.test.ts +475 -0
- package/src/batch-interceptor.ts +244 -0
- package/src/{createRequestId.test.ts → create-request-id.test.ts} +1 -2
- package/src/disposable.ts +13 -0
- package/src/events/http.ts +92 -0
- package/src/events/websocket.ts +47 -0
- package/src/glossary.ts +1 -27
- package/src/index.ts +18 -10
- package/src/interceptor.test.ts +279 -0
- package/src/interceptor.ts +139 -0
- package/src/interceptors/ClientRequest/index.test.ts +21 -39
- package/src/interceptors/ClientRequest/index.ts +64 -179
- package/src/interceptors/ClientRequest/utils/{recordRawHeaders.test.ts → record-raw-headers.test.ts} +1 -2
- package/src/interceptors/ClientRequest/utils/{recordRawHeaders.ts → record-raw-headers.ts} +29 -2
- package/src/interceptors/WebSocket/index.ts +33 -50
- package/src/interceptors/WebSocket/utils/{bindEvent.test.ts → bind-event.test.ts} +1 -2
- package/src/interceptors/WebSocket/utils/events.test.ts +0 -1
- package/src/interceptors/WebSocket/{WebSocketClassTransport.ts → web-socket-class-transport.ts} +3 -3
- package/src/interceptors/WebSocket/{WebSocketClientConnection.ts → web-socket-client-connection.ts} +4 -4
- package/src/interceptors/WebSocket/{WebSocketOverride.ts → web-socket-override.ts} +6 -7
- package/src/interceptors/WebSocket/{WebSocketServerConnection.ts → web-socket-server-connection.ts} +4 -4
- package/src/interceptors/WebSocket/{WebSocketTransport.ts → web-socket-transport.ts} +1 -1
- package/src/interceptors/XMLHttpRequest/node.ts +104 -0
- package/src/interceptors/XMLHttpRequest/polyfills/{ProgressEventPolyfill.ts → progress-event-polyfill.ts} +1 -1
- package/src/interceptors/XMLHttpRequest/utils/{concateArrayBuffer.test.ts → concat-array-buffer.test.ts} +1 -2
- package/src/interceptors/XMLHttpRequest/utils/{concatArrayBuffer.ts → concat-array-buffer.ts} +1 -1
- package/src/interceptors/XMLHttpRequest/utils/{createEvent.test.ts → create-event.test.ts} +3 -4
- package/src/interceptors/XMLHttpRequest/utils/{createEvent.ts → create-event.ts} +2 -2
- package/src/interceptors/XMLHttpRequest/utils/{createResponse.ts → create-response.ts} +1 -1
- package/src/interceptors/XMLHttpRequest/utils/{getBodyByteLength.test.ts → get-body-byte-length.test.ts} +1 -2
- package/src/interceptors/XMLHttpRequest/web.ts +34 -0
- package/src/interceptors/XMLHttpRequest/{XMLHttpRequestController.ts → xml-http-request-controller.ts} +363 -204
- package/src/interceptors/XMLHttpRequest/{XMLHttpRequestProxy.ts → xml-http-request-proxy.ts} +28 -25
- package/src/interceptors/fetch/node.ts +103 -0
- package/src/interceptors/fetch/utils/{followRedirect.ts → follow-redirect.ts} +1 -1
- package/src/interceptors/fetch/web.ts +217 -0
- package/src/interceptors/http/forward-events.test.ts +86 -0
- package/src/interceptors/http/forward-events.ts +139 -0
- package/src/interceptors/http/http-parser/index.ts +310 -0
- package/src/interceptors/http/http-parser/llhttp/constants.cjs +485 -0
- package/src/interceptors/http/http-parser/llhttp/constants.d.cts +957 -0
- package/src/interceptors/http/http-parser/llhttp/llhttp.wasm +0 -0
- package/src/interceptors/http/http-parser.ts +138 -0
- package/src/interceptors/http/index.ts +34 -0
- package/src/interceptors/http/source.ts +688 -0
- package/src/interceptors/net/index.ts +368 -0
- package/src/interceptors/net/socket-controller.ts +1476 -0
- package/src/interceptors/net/utils/address-info.ts +54 -0
- package/src/interceptors/net/utils/connection-options-to-url.ts +56 -0
- package/src/interceptors/net/utils/flush-writes.ts +57 -0
- package/src/interceptors/net/utils/get-tls-connect-options.ts +23 -0
- package/src/interceptors/net/utils/normalize-net-connect-args.test.ts +233 -0
- package/src/interceptors/net/utils/normalize-net-connect-args.ts +121 -0
- package/src/interceptors/net/utils/normalize-tls-connect-args.ts +50 -0
- package/src/presets/browser.ts +4 -4
- package/src/presets/node.ts +4 -4
- package/src/{RemoteHttpInterceptor.ts → remote-http-interceptor.ts} +55 -42
- package/src/request-context.ts +40 -0
- package/src/{RequestController.test.ts → request-controller.test.ts} +37 -3
- package/src/{RequestController.ts → request-controller.ts} +33 -11
- package/src/utils/{bufferUtils.test.ts → buffer-utils.test.ts} +1 -2
- package/src/utils/buffer-utils.ts +37 -0
- package/src/utils/{cloneObject.test.ts → clone-object.test.ts} +1 -2
- package/src/utils/{cloneObject.ts → clone-object.ts} +8 -8
- package/src/utils/{createProxy.test.ts → create-proxy.test.ts} +6 -4
- package/src/utils/{createProxy.ts → create-proxy.ts} +1 -1
- package/src/utils/{fetchUtils.test.ts → fetch-utils.test.ts} +1 -1
- package/src/utils/{fetchUtils.ts → fetch-utils.ts} +28 -3
- package/src/utils/{findPropertySource.test.ts → find-property-source.test.ts} +1 -2
- package/src/utils/{getCleanUrl.test.ts → get-clean-url.test.ts} +1 -2
- package/src/utils/{getUrlByRequestOptions.test.ts → get-url-by-request-options.test.ts} +4 -8
- package/src/utils/{getUrlByRequestOptions.ts → get-url-by-request-options.ts} +16 -16
- package/src/utils/{getValueBySymbol.test.ts → get-value-by-symbol.test.ts} +1 -2
- package/src/utils/{handleRequest.ts → handle-request.ts} +61 -41
- package/src/utils/{hasConfigurableGlobal.test.ts → has-configurable-global.test.ts} +1 -2
- package/src/utils/{hasConfigurableGlobal.ts → has-configurable-global.ts} +2 -4
- package/src/utils/{isObject.test.ts → is-object.test.ts} +1 -2
- package/src/utils/logger.test.ts +154 -0
- package/src/utils/logger.ts +154 -0
- package/src/utils/{parseJson.test.ts → parse-json.test.ts} +1 -2
- package/src/utils/{patchesRegistry.test.ts → patches-registry.test.ts} +1 -1
- package/src/utils/{patchesRegistry.ts → patches-registry.ts} +1 -1
- package/src/utils/{responseUtils.ts → response-utils.ts} +25 -2
- package/ClientRequest/package.json +0 -11
- package/RemoteHttpInterceptor/package.json +0 -11
- package/WebSocket/package.json +0 -12
- package/XMLHttpRequest/package.json +0 -12
- package/fetch/package.json +0 -12
- package/lib/browser/Interceptor-Deczogc8.d.cts +0 -65
- package/lib/browser/Interceptor-gqKgs-aF.d.mts +0 -65
- package/lib/browser/XMLHttpRequest-DrZAf3w6.mjs.map +0 -1
- package/lib/browser/XMLHttpRequest-gXuzzX1g.cjs +0 -751
- package/lib/browser/XMLHttpRequest-gXuzzX1g.cjs.map +0 -1
- package/lib/browser/bufferUtils-BiiO6HZv.mjs.map +0 -1
- package/lib/browser/bufferUtils-Uc0eRItL.cjs +0 -38
- package/lib/browser/bufferUtils-Uc0eRItL.cjs.map +0 -1
- package/lib/browser/createRequestId-DOf8Ktjs.cjs +0 -205
- package/lib/browser/createRequestId-DOf8Ktjs.cjs.map +0 -1
- package/lib/browser/createRequestId-DYCsFHOi.mjs +0 -170
- package/lib/browser/createRequestId-DYCsFHOi.mjs.map +0 -1
- package/lib/browser/fetch-5IMPqr9e.mjs +0 -236
- package/lib/browser/fetch-5IMPqr9e.mjs.map +0 -1
- package/lib/browser/fetch-Bt9rMY9c.cjs +0 -241
- package/lib/browser/fetch-Bt9rMY9c.cjs.map +0 -1
- package/lib/browser/getRawRequest-B1BqgWG6.mjs.map +0 -1
- package/lib/browser/getRawRequest-DdfaiPVH.cjs +0 -376
- package/lib/browser/getRawRequest-DdfaiPVH.cjs.map +0 -1
- package/lib/browser/glossary-1lhZx6Aw.d.cts +0 -69
- package/lib/browser/glossary-nkHWcwvY.d.mts +0 -69
- package/lib/browser/handleRequest-CJim54xG.cjs +0 -191
- package/lib/browser/handleRequest-CJim54xG.cjs.map +0 -1
- package/lib/browser/handleRequest-CPPgsG7s.mjs +0 -180
- package/lib/browser/handleRequest-CPPgsG7s.mjs.map +0 -1
- package/lib/browser/hasConfigurableGlobal-C8zq1MCg.mjs +0 -109
- package/lib/browser/hasConfigurableGlobal-C8zq1MCg.mjs.map +0 -1
- package/lib/browser/hasConfigurableGlobal-CS7adEvV.cjs +0 -126
- package/lib/browser/hasConfigurableGlobal-CS7adEvV.cjs.map +0 -1
- package/lib/browser/index.cjs +0 -70
- package/lib/browser/index.cjs.map +0 -1
- package/lib/browser/index.d.mts +0 -125
- package/lib/browser/index.mjs +0 -56
- package/lib/browser/index.mjs.map +0 -1
- package/lib/browser/interceptors/WebSocket/index.cjs +0 -618
- package/lib/browser/interceptors/WebSocket/index.cjs.map +0 -1
- package/lib/browser/interceptors/WebSocket/index.mjs.map +0 -1
- package/lib/browser/interceptors/XMLHttpRequest/index.cjs +0 -8
- package/lib/browser/interceptors/XMLHttpRequest/index.d.cts +0 -15
- package/lib/browser/interceptors/XMLHttpRequest/index.d.mts +0 -15
- package/lib/browser/interceptors/XMLHttpRequest/index.mjs +0 -8
- package/lib/browser/interceptors/fetch/index.cjs +0 -7
- package/lib/browser/interceptors/fetch/index.d.cts +0 -13
- package/lib/browser/interceptors/fetch/index.d.mts +0 -13
- package/lib/browser/interceptors/fetch/index.mjs +0 -7
- package/lib/browser/presets/browser.cjs +0 -18
- package/lib/browser/presets/browser.cjs.map +0 -1
- package/lib/browser/presets/browser.d.cts +0 -12
- package/lib/browser/presets/browser.d.mts +0 -14
- package/lib/browser/presets/browser.mjs +0 -18
- package/lib/browser/presets/browser.mjs.map +0 -1
- package/lib/browser/resolveWebSocketUrl-6K6EgqsA.cjs +0 -31
- package/lib/browser/resolveWebSocketUrl-6K6EgqsA.cjs.map +0 -1
- package/lib/browser/resolveWebSocketUrl-C83-x9iE.mjs.map +0 -1
- package/lib/node/BatchInterceptor-BGhH8z1z.cjs +0 -49
- package/lib/node/BatchInterceptor-BGhH8z1z.cjs.map +0 -1
- package/lib/node/BatchInterceptor-C4-RX5rg.mjs +0 -44
- package/lib/node/BatchInterceptor-C4-RX5rg.mjs.map +0 -1
- package/lib/node/BatchInterceptor-KKF8Q47I.d.cts +0 -26
- package/lib/node/BatchInterceptor-rSr-NH_H.d.mts +0 -26
- package/lib/node/ClientRequest-2loAH7xM.cjs +0 -1058
- package/lib/node/ClientRequest-2loAH7xM.cjs.map +0 -1
- package/lib/node/ClientRequest-DGhBX21V.mjs +0 -1049
- package/lib/node/ClientRequest-DGhBX21V.mjs.map +0 -1
- package/lib/node/Interceptor-BsZ21ue0.d.cts +0 -132
- package/lib/node/Interceptor-soD-WpQO.d.mts +0 -132
- package/lib/node/RemoteHttpInterceptor.cjs +0 -155
- package/lib/node/RemoteHttpInterceptor.cjs.map +0 -1
- package/lib/node/RemoteHttpInterceptor.d.mts +0 -39
- package/lib/node/RemoteHttpInterceptor.mjs.map +0 -1
- package/lib/node/XMLHttpRequest-BtDNZipW.cjs +0 -752
- package/lib/node/XMLHttpRequest-BtDNZipW.cjs.map +0 -1
- package/lib/node/XMLHttpRequest-Dw6Wm-UU.mjs +0 -746
- package/lib/node/XMLHttpRequest-Dw6Wm-UU.mjs.map +0 -1
- package/lib/node/bufferUtils-DxPxwff_.mjs +0 -20
- package/lib/node/bufferUtils-DxPxwff_.mjs.map +0 -1
- package/lib/node/bufferUtils-S5_-2eN4.cjs +0 -38
- package/lib/node/bufferUtils-S5_-2eN4.cjs.map +0 -1
- package/lib/node/chunk-CbDLau6x.cjs +0 -34
- package/lib/node/fetch-CaC3rGEu.mjs +0 -252
- package/lib/node/fetch-CaC3rGEu.mjs.map +0 -1
- package/lib/node/fetch-D2ClLNN-.cjs +0 -259
- package/lib/node/fetch-D2ClLNN-.cjs.map +0 -1
- package/lib/node/fetchUtils-BKJ1XmiO.mjs +0 -480
- package/lib/node/fetchUtils-BKJ1XmiO.mjs.map +0 -1
- package/lib/node/fetchUtils-umV5xXBy.cjs +0 -546
- package/lib/node/fetchUtils-umV5xXBy.cjs.map +0 -1
- package/lib/node/getRawRequest-B6znU6il.cjs +0 -36
- package/lib/node/getRawRequest-B6znU6il.cjs.map +0 -1
- package/lib/node/getRawRequest-C2-1urzA.mjs +0 -24
- package/lib/node/getRawRequest-C2-1urzA.mjs.map +0 -1
- package/lib/node/handleRequest-C-cKYjIh.cjs +0 -222
- package/lib/node/handleRequest-C-cKYjIh.cjs.map +0 -1
- package/lib/node/handleRequest-FIQv5pwH.mjs +0 -192
- package/lib/node/handleRequest-FIQv5pwH.mjs.map +0 -1
- package/lib/node/hasConfigurableGlobal-BiTmog1u.mjs.map +0 -1
- package/lib/node/hasConfigurableGlobal-MjY06_Ok.cjs +0 -108
- package/lib/node/hasConfigurableGlobal-MjY06_Ok.cjs.map +0 -1
- package/lib/node/index-BJ5E5aW-.d.cts +0 -113
- package/lib/node/index-DfoF45ih.d.mts +0 -113
- package/lib/node/index.cjs +0 -53
- package/lib/node/index.cjs.map +0 -1
- package/lib/node/index.d.cts +0 -104
- package/lib/node/index.d.mts +0 -104
- package/lib/node/index.mjs.map +0 -1
- package/lib/node/interceptors/ClientRequest/index.cjs +0 -6
- package/lib/node/interceptors/ClientRequest/index.d.cts +0 -2
- package/lib/node/interceptors/ClientRequest/index.d.mts +0 -3
- package/lib/node/interceptors/ClientRequest/index.mjs +0 -6
- package/lib/node/interceptors/XMLHttpRequest/index.cjs +0 -7
- package/lib/node/interceptors/XMLHttpRequest/index.d.cts +0 -14
- package/lib/node/interceptors/XMLHttpRequest/index.d.mts +0 -14
- package/lib/node/interceptors/XMLHttpRequest/index.mjs +0 -7
- package/lib/node/interceptors/fetch/index.cjs +0 -6
- package/lib/node/interceptors/fetch/index.d.cts +0 -12
- package/lib/node/interceptors/fetch/index.d.mts +0 -12
- package/lib/node/interceptors/fetch/index.mjs +0 -6
- package/lib/node/node-DIKcnzhK.cjs +0 -39
- package/lib/node/node-DIKcnzhK.cjs.map +0 -1
- package/lib/node/node-lsdNwZEW.mjs +0 -27
- package/lib/node/node-lsdNwZEW.mjs.map +0 -1
- package/lib/node/presets/node.cjs +0 -23
- package/lib/node/presets/node.cjs.map +0 -1
- package/lib/node/presets/node.d.cts +0 -13
- package/lib/node/presets/node.d.mts +0 -15
- package/lib/node/presets/node.mjs +0 -23
- package/lib/node/presets/node.mjs.map +0 -1
- package/lib/node/utils/node/index.cjs +0 -4
- package/lib/node/utils/node/index.d.cts +0 -16
- package/lib/node/utils/node/index.d.mts +0 -16
- package/lib/node/utils/node/index.mjs +0 -3
- package/presets/browser/package.json +0 -5
- package/presets/node/package.json +0 -11
- package/src/BatchInterceptor.test.ts +0 -255
- package/src/BatchInterceptor.ts +0 -96
- package/src/Interceptor.test.ts +0 -205
- package/src/Interceptor.ts +0 -249
- package/src/getRawRequest.ts +0 -21
- package/src/interceptors/ClientRequest/MockHttpSocket.ts +0 -724
- package/src/interceptors/ClientRequest/agents.ts +0 -110
- package/src/interceptors/ClientRequest/utils/getIncomingMessageBody.test.ts +0 -54
- package/src/interceptors/ClientRequest/utils/getIncomingMessageBody.ts +0 -45
- package/src/interceptors/ClientRequest/utils/normalizeClientRequestArgs.test.ts +0 -427
- package/src/interceptors/ClientRequest/utils/normalizeClientRequestArgs.ts +0 -268
- package/src/interceptors/ClientRequest/utils/parserUtils.ts +0 -48
- package/src/interceptors/Socket/MockSocket.test.ts +0 -264
- package/src/interceptors/Socket/MockSocket.ts +0 -58
- package/src/interceptors/Socket/utils/baseUrlFromConnectionOptions.ts +0 -26
- package/src/interceptors/Socket/utils/normalizeSocketWriteArgs.test.ts +0 -52
- package/src/interceptors/Socket/utils/normalizeSocketWriteArgs.ts +0 -33
- package/src/interceptors/XMLHttpRequest/index.ts +0 -40
- package/src/interceptors/fetch/index.ts +0 -203
- package/src/utils/bufferUtils.ts +0 -22
- package/src/utils/canParseUrl.ts +0 -13
- package/src/utils/emitAsync.ts +0 -25
- package/src/utils/nextTick.ts +0 -11
- package/src/utils/node/index.ts +0 -39
- /package/src/{createRequestId.ts → create-request-id.ts} +0 -0
- /package/src/{InterceptorError.ts → interceptor-error.ts} +0 -0
- /package/src/interceptors/WebSocket/utils/{bindEvent.ts → bind-event.ts} +0 -0
- /package/src/interceptors/XMLHttpRequest/polyfills/{EventPolyfill.ts → event-polyfill.ts} +0 -0
- /package/src/interceptors/XMLHttpRequest/utils/{getBodyByteLength.ts → get-body-byte-length.ts} +0 -0
- /package/src/interceptors/XMLHttpRequest/utils/{isDomParserSupportedType.ts → is-dom-parser-supported-type.ts} +0 -0
- /package/src/interceptors/fetch/utils/{createNetworkError.ts → create-network-error.ts} +0 -0
- /package/src/utils/{findPropertySource.ts → find-property-source.ts} +0 -0
- /package/src/utils/{getCleanUrl.ts → get-clean-url.ts} +0 -0
- /package/src/utils/{getValueBySymbol.ts → get-value-by-symbol.ts} +0 -0
- /package/src/utils/{isNodeLikeError.ts → is-node-like-error.ts} +0 -0
- /package/src/utils/{isObject.ts → is-object.ts} +0 -0
- /package/src/utils/{isPropertyAccessible.ts → is-property-accessible.ts} +0 -0
- /package/src/utils/{parseJson.ts → parse-json.ts} +0 -0
- /package/src/utils/{resolveWebSocketUrl.ts → resolve-web-socket-url.ts} +0 -0
|
@@ -0,0 +1,485 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SPECIAL_HEADERS = exports.MINOR = exports.MAJOR = exports.QDTEXT = exports.CONNECTION_TOKEN_CHARS = exports.RELAXED_HEADER_CHARS = exports.HEADER_CHARS = exports.HTAB_SP_VCHAR_OBS_TEXT = exports.SP = exports.HTAB = exports.TOKEN = exports.HEX = exports.URL_CHAR = exports.USERINFO_CHARS = exports.MARK = exports.ALPHANUM = exports.DIGIT = exports.HEX_MAP = exports.NUM_MAP = exports.ALPHA = exports.METHODS = exports.METHODS_HTTP = exports.METHODS_HTTP2 = exports.METHODS_HTTP1 = exports.METHODS_RTSP = exports.METHODS_RAOP = exports.METHODS_AIRPLAY = exports.METHODS_ICECAST = exports.METHODS_NON_STANDARD = exports.METHODS_CALDAV = exports.METHODS_UPNP = exports.METHODS_SUBVERSION = exports.METHODS_WEBDAV = exports.METHODS_BASIC_HTTP = exports.METHODS_HTTP1_HEAD = exports.HEADER_STATE = exports.FINISH = exports.STATUSES = exports.LENIENT_FLAGS = exports.FLAGS = exports.TYPE = exports.ERROR = void 0;
|
|
4
|
+
exports.ERROR = {
|
|
5
|
+
OK: 0,
|
|
6
|
+
INTERNAL: 1,
|
|
7
|
+
STRICT: 2,
|
|
8
|
+
CR_EXPECTED: 25,
|
|
9
|
+
LF_EXPECTED: 3,
|
|
10
|
+
UNEXPECTED_CONTENT_LENGTH: 4,
|
|
11
|
+
UNEXPECTED_SPACE: 30,
|
|
12
|
+
CLOSED_CONNECTION: 5,
|
|
13
|
+
INVALID_METHOD: 6,
|
|
14
|
+
INVALID_URL: 7,
|
|
15
|
+
INVALID_CONSTANT: 8,
|
|
16
|
+
INVALID_VERSION: 9,
|
|
17
|
+
INVALID_HEADER_TOKEN: 10,
|
|
18
|
+
INVALID_CONTENT_LENGTH: 11,
|
|
19
|
+
INVALID_CHUNK_SIZE: 12,
|
|
20
|
+
INVALID_STATUS: 13,
|
|
21
|
+
INVALID_EOF_STATE: 14,
|
|
22
|
+
INVALID_TRANSFER_ENCODING: 15,
|
|
23
|
+
CB_MESSAGE_BEGIN: 16,
|
|
24
|
+
CB_HEADERS_COMPLETE: 17,
|
|
25
|
+
CB_MESSAGE_COMPLETE: 18,
|
|
26
|
+
CB_CHUNK_HEADER: 19,
|
|
27
|
+
CB_CHUNK_COMPLETE: 20,
|
|
28
|
+
PAUSED: 21,
|
|
29
|
+
PAUSED_UPGRADE: 22,
|
|
30
|
+
PAUSED_H2_UPGRADE: 23,
|
|
31
|
+
USER: 24,
|
|
32
|
+
CB_URL_COMPLETE: 26,
|
|
33
|
+
CB_STATUS_COMPLETE: 27,
|
|
34
|
+
CB_METHOD_COMPLETE: 32,
|
|
35
|
+
CB_VERSION_COMPLETE: 33,
|
|
36
|
+
CB_HEADER_FIELD_COMPLETE: 28,
|
|
37
|
+
CB_HEADER_VALUE_COMPLETE: 29,
|
|
38
|
+
CB_CHUNK_EXTENSION_NAME_COMPLETE: 34,
|
|
39
|
+
CB_CHUNK_EXTENSION_VALUE_COMPLETE: 35,
|
|
40
|
+
CB_RESET: 31,
|
|
41
|
+
CB_PROTOCOL_COMPLETE: 38,
|
|
42
|
+
};
|
|
43
|
+
exports.TYPE = {
|
|
44
|
+
BOTH: 0, // default
|
|
45
|
+
REQUEST: 1,
|
|
46
|
+
RESPONSE: 2,
|
|
47
|
+
};
|
|
48
|
+
exports.FLAGS = {
|
|
49
|
+
CONNECTION_KEEP_ALIVE: 1 << 0,
|
|
50
|
+
CONNECTION_CLOSE: 1 << 1,
|
|
51
|
+
CONNECTION_UPGRADE: 1 << 2,
|
|
52
|
+
CHUNKED: 1 << 3,
|
|
53
|
+
UPGRADE: 1 << 4,
|
|
54
|
+
CONTENT_LENGTH: 1 << 5,
|
|
55
|
+
SKIPBODY: 1 << 6,
|
|
56
|
+
TRAILING: 1 << 7,
|
|
57
|
+
// 1 << 8 is unused
|
|
58
|
+
TRANSFER_ENCODING: 1 << 9,
|
|
59
|
+
};
|
|
60
|
+
exports.LENIENT_FLAGS = {
|
|
61
|
+
HEADERS: 1 << 0,
|
|
62
|
+
CHUNKED_LENGTH: 1 << 1,
|
|
63
|
+
KEEP_ALIVE: 1 << 2,
|
|
64
|
+
TRANSFER_ENCODING: 1 << 3,
|
|
65
|
+
VERSION: 1 << 4,
|
|
66
|
+
DATA_AFTER_CLOSE: 1 << 5,
|
|
67
|
+
OPTIONAL_LF_AFTER_CR: 1 << 6,
|
|
68
|
+
OPTIONAL_CRLF_AFTER_CHUNK: 1 << 7,
|
|
69
|
+
OPTIONAL_CR_BEFORE_LF: 1 << 8,
|
|
70
|
+
SPACES_AFTER_CHUNK_SIZE: 1 << 9,
|
|
71
|
+
HEADER_VALUE_RELAXED: 1 << 10,
|
|
72
|
+
};
|
|
73
|
+
exports.STATUSES = {
|
|
74
|
+
CONTINUE: 100,
|
|
75
|
+
SWITCHING_PROTOCOLS: 101,
|
|
76
|
+
PROCESSING: 102,
|
|
77
|
+
EARLY_HINTS: 103,
|
|
78
|
+
RESPONSE_IS_STALE: 110, // Unofficial
|
|
79
|
+
REVALIDATION_FAILED: 111, // Unofficial
|
|
80
|
+
DISCONNECTED_OPERATION: 112, // Unofficial
|
|
81
|
+
HEURISTIC_EXPIRATION: 113, // Unofficial
|
|
82
|
+
MISCELLANEOUS_WARNING: 199, // Unofficial
|
|
83
|
+
OK: 200,
|
|
84
|
+
CREATED: 201,
|
|
85
|
+
ACCEPTED: 202,
|
|
86
|
+
NON_AUTHORITATIVE_INFORMATION: 203,
|
|
87
|
+
NO_CONTENT: 204,
|
|
88
|
+
RESET_CONTENT: 205,
|
|
89
|
+
PARTIAL_CONTENT: 206,
|
|
90
|
+
MULTI_STATUS: 207,
|
|
91
|
+
ALREADY_REPORTED: 208,
|
|
92
|
+
TRANSFORMATION_APPLIED: 214, // Unofficial
|
|
93
|
+
IM_USED: 226,
|
|
94
|
+
MISCELLANEOUS_PERSISTENT_WARNING: 299, // Unofficial
|
|
95
|
+
MULTIPLE_CHOICES: 300,
|
|
96
|
+
MOVED_PERMANENTLY: 301,
|
|
97
|
+
FOUND: 302,
|
|
98
|
+
SEE_OTHER: 303,
|
|
99
|
+
NOT_MODIFIED: 304,
|
|
100
|
+
USE_PROXY: 305,
|
|
101
|
+
SWITCH_PROXY: 306, // No longer used
|
|
102
|
+
TEMPORARY_REDIRECT: 307,
|
|
103
|
+
PERMANENT_REDIRECT: 308,
|
|
104
|
+
BAD_REQUEST: 400,
|
|
105
|
+
UNAUTHORIZED: 401,
|
|
106
|
+
PAYMENT_REQUIRED: 402,
|
|
107
|
+
FORBIDDEN: 403,
|
|
108
|
+
NOT_FOUND: 404,
|
|
109
|
+
METHOD_NOT_ALLOWED: 405,
|
|
110
|
+
NOT_ACCEPTABLE: 406,
|
|
111
|
+
PROXY_AUTHENTICATION_REQUIRED: 407,
|
|
112
|
+
REQUEST_TIMEOUT: 408,
|
|
113
|
+
CONFLICT: 409,
|
|
114
|
+
GONE: 410,
|
|
115
|
+
LENGTH_REQUIRED: 411,
|
|
116
|
+
PRECONDITION_FAILED: 412,
|
|
117
|
+
PAYLOAD_TOO_LARGE: 413,
|
|
118
|
+
URI_TOO_LONG: 414,
|
|
119
|
+
UNSUPPORTED_MEDIA_TYPE: 415,
|
|
120
|
+
RANGE_NOT_SATISFIABLE: 416,
|
|
121
|
+
EXPECTATION_FAILED: 417,
|
|
122
|
+
IM_A_TEAPOT: 418,
|
|
123
|
+
PAGE_EXPIRED: 419, // Unofficial
|
|
124
|
+
ENHANCE_YOUR_CALM: 420, // Unofficial
|
|
125
|
+
MISDIRECTED_REQUEST: 421,
|
|
126
|
+
UNPROCESSABLE_ENTITY: 422,
|
|
127
|
+
LOCKED: 423,
|
|
128
|
+
FAILED_DEPENDENCY: 424,
|
|
129
|
+
TOO_EARLY: 425,
|
|
130
|
+
UPGRADE_REQUIRED: 426,
|
|
131
|
+
PRECONDITION_REQUIRED: 428,
|
|
132
|
+
TOO_MANY_REQUESTS: 429,
|
|
133
|
+
REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL: 430, // Unofficial
|
|
134
|
+
REQUEST_HEADER_FIELDS_TOO_LARGE: 431,
|
|
135
|
+
LOGIN_TIMEOUT: 440, // Unofficial
|
|
136
|
+
NO_RESPONSE: 444, // Unofficial
|
|
137
|
+
RETRY_WITH: 449, // Unofficial
|
|
138
|
+
BLOCKED_BY_PARENTAL_CONTROL: 450, // Unofficial
|
|
139
|
+
UNAVAILABLE_FOR_LEGAL_REASONS: 451,
|
|
140
|
+
CLIENT_CLOSED_LOAD_BALANCED_REQUEST: 460, // Unofficial
|
|
141
|
+
INVALID_X_FORWARDED_FOR: 463, // Unofficial
|
|
142
|
+
REQUEST_HEADER_TOO_LARGE: 494, // Unofficial
|
|
143
|
+
SSL_CERTIFICATE_ERROR: 495, // Unofficial
|
|
144
|
+
SSL_CERTIFICATE_REQUIRED: 496, // Unofficial
|
|
145
|
+
HTTP_REQUEST_SENT_TO_HTTPS_PORT: 497, // Unofficial
|
|
146
|
+
INVALID_TOKEN: 498, // Unofficial
|
|
147
|
+
CLIENT_CLOSED_REQUEST: 499, // Unofficial
|
|
148
|
+
INTERNAL_SERVER_ERROR: 500,
|
|
149
|
+
NOT_IMPLEMENTED: 501,
|
|
150
|
+
BAD_GATEWAY: 502,
|
|
151
|
+
SERVICE_UNAVAILABLE: 503,
|
|
152
|
+
GATEWAY_TIMEOUT: 504,
|
|
153
|
+
HTTP_VERSION_NOT_SUPPORTED: 505,
|
|
154
|
+
VARIANT_ALSO_NEGOTIATES: 506,
|
|
155
|
+
INSUFFICIENT_STORAGE: 507,
|
|
156
|
+
LOOP_DETECTED: 508,
|
|
157
|
+
BANDWIDTH_LIMIT_EXCEEDED: 509,
|
|
158
|
+
NOT_EXTENDED: 510,
|
|
159
|
+
NETWORK_AUTHENTICATION_REQUIRED: 511,
|
|
160
|
+
WEB_SERVER_UNKNOWN_ERROR: 520, // Unofficial
|
|
161
|
+
WEB_SERVER_IS_DOWN: 521, // Unofficial
|
|
162
|
+
CONNECTION_TIMEOUT: 522, // Unofficial
|
|
163
|
+
ORIGIN_IS_UNREACHABLE: 523, // Unofficial
|
|
164
|
+
TIMEOUT_OCCURED: 524, // Unofficial
|
|
165
|
+
SSL_HANDSHAKE_FAILED: 525, // Unofficial
|
|
166
|
+
INVALID_SSL_CERTIFICATE: 526, // Unofficial
|
|
167
|
+
RAILGUN_ERROR: 527, // Unofficial
|
|
168
|
+
SITE_IS_OVERLOADED: 529, // Unofficial
|
|
169
|
+
SITE_IS_FROZEN: 530, // Unofficial
|
|
170
|
+
IDENTITY_PROVIDER_AUTHENTICATION_ERROR: 561, // Unofficial
|
|
171
|
+
NETWORK_READ_TIMEOUT: 598, // Unofficial
|
|
172
|
+
NETWORK_CONNECT_TIMEOUT: 599, // Unofficial
|
|
173
|
+
};
|
|
174
|
+
exports.FINISH = {
|
|
175
|
+
SAFE: 0,
|
|
176
|
+
SAFE_WITH_CB: 1,
|
|
177
|
+
UNSAFE: 2,
|
|
178
|
+
};
|
|
179
|
+
exports.HEADER_STATE = {
|
|
180
|
+
GENERAL: 0,
|
|
181
|
+
CONNECTION: 1,
|
|
182
|
+
CONTENT_LENGTH: 2,
|
|
183
|
+
TRANSFER_ENCODING: 3,
|
|
184
|
+
UPGRADE: 4,
|
|
185
|
+
CONNECTION_KEEP_ALIVE: 5,
|
|
186
|
+
CONNECTION_CLOSE: 6,
|
|
187
|
+
CONNECTION_UPGRADE: 7,
|
|
188
|
+
TRANSFER_ENCODING_CHUNKED: 8,
|
|
189
|
+
};
|
|
190
|
+
exports.METHODS_HTTP1_HEAD = {
|
|
191
|
+
HEAD: 2,
|
|
192
|
+
};
|
|
193
|
+
/**
|
|
194
|
+
* HTTP methods as defined by RFC-9110 and other specifications.
|
|
195
|
+
* @see https://httpwg.org/specs/rfc9110.html#method.definitions
|
|
196
|
+
*/
|
|
197
|
+
exports.METHODS_BASIC_HTTP = {
|
|
198
|
+
DELETE: 0,
|
|
199
|
+
GET: 1,
|
|
200
|
+
...exports.METHODS_HTTP1_HEAD,
|
|
201
|
+
POST: 3,
|
|
202
|
+
PUT: 4,
|
|
203
|
+
CONNECT: 5,
|
|
204
|
+
OPTIONS: 6,
|
|
205
|
+
TRACE: 7,
|
|
206
|
+
/**
|
|
207
|
+
* @see https://www.rfc-editor.org/rfc/rfc5789.html
|
|
208
|
+
*/
|
|
209
|
+
PATCH: 28,
|
|
210
|
+
/* RFC-2068, section 19.6.1.2 */
|
|
211
|
+
LINK: 31,
|
|
212
|
+
UNLINK: 32,
|
|
213
|
+
};
|
|
214
|
+
exports.METHODS_WEBDAV = {
|
|
215
|
+
COPY: 8,
|
|
216
|
+
LOCK: 9,
|
|
217
|
+
MKCOL: 10,
|
|
218
|
+
MOVE: 11,
|
|
219
|
+
PROPFIND: 12,
|
|
220
|
+
PROPPATCH: 13,
|
|
221
|
+
SEARCH: 14,
|
|
222
|
+
UNLOCK: 15,
|
|
223
|
+
BIND: 16,
|
|
224
|
+
REBIND: 17,
|
|
225
|
+
UNBIND: 18,
|
|
226
|
+
ACL: 19,
|
|
227
|
+
};
|
|
228
|
+
exports.METHODS_SUBVERSION = {
|
|
229
|
+
REPORT: 20,
|
|
230
|
+
MKACTIVITY: 21,
|
|
231
|
+
CHECKOUT: 22,
|
|
232
|
+
MERGE: 23,
|
|
233
|
+
};
|
|
234
|
+
exports.METHODS_UPNP = {
|
|
235
|
+
'M-SEARCH': 24,
|
|
236
|
+
NOTIFY: 25,
|
|
237
|
+
SUBSCRIBE: 26,
|
|
238
|
+
UNSUBSCRIBE: 27,
|
|
239
|
+
};
|
|
240
|
+
exports.METHODS_CALDAV = {
|
|
241
|
+
MKCALENDAR: 30,
|
|
242
|
+
};
|
|
243
|
+
exports.METHODS_NON_STANDARD = {
|
|
244
|
+
/**
|
|
245
|
+
* Not defined in any RFC but commonly used
|
|
246
|
+
*/
|
|
247
|
+
PURGE: 29,
|
|
248
|
+
/* DRAFT https://www.ietf.org/archive/id/draft-ietf-httpbis-safe-method-w-body-02.html */
|
|
249
|
+
QUERY: 46,
|
|
250
|
+
};
|
|
251
|
+
exports.METHODS_ICECAST = {
|
|
252
|
+
SOURCE: 33,
|
|
253
|
+
};
|
|
254
|
+
exports.METHODS_AIRPLAY = {
|
|
255
|
+
GET: 1,
|
|
256
|
+
POST: 3,
|
|
257
|
+
};
|
|
258
|
+
exports.METHODS_RAOP = {
|
|
259
|
+
FLUSH: 45,
|
|
260
|
+
};
|
|
261
|
+
/* RFC-2326 RTSP */
|
|
262
|
+
exports.METHODS_RTSP = {
|
|
263
|
+
OPTIONS: exports.METHODS_BASIC_HTTP.OPTIONS,
|
|
264
|
+
DESCRIBE: 35,
|
|
265
|
+
ANNOUNCE: 36,
|
|
266
|
+
SETUP: 37,
|
|
267
|
+
PLAY: 38,
|
|
268
|
+
PAUSE: 39,
|
|
269
|
+
TEARDOWN: 40,
|
|
270
|
+
GET_PARAMETER: 41,
|
|
271
|
+
SET_PARAMETER: 42,
|
|
272
|
+
REDIRECT: 43,
|
|
273
|
+
RECORD: 44,
|
|
274
|
+
...exports.METHODS_AIRPLAY,
|
|
275
|
+
...exports.METHODS_RAOP,
|
|
276
|
+
};
|
|
277
|
+
exports.METHODS_HTTP1 = {
|
|
278
|
+
...exports.METHODS_BASIC_HTTP,
|
|
279
|
+
...exports.METHODS_WEBDAV,
|
|
280
|
+
...exports.METHODS_SUBVERSION,
|
|
281
|
+
...exports.METHODS_UPNP,
|
|
282
|
+
...exports.METHODS_CALDAV,
|
|
283
|
+
...exports.METHODS_NON_STANDARD,
|
|
284
|
+
// TODO(indutny): should we allow it with HTTP?
|
|
285
|
+
...exports.METHODS_ICECAST,
|
|
286
|
+
};
|
|
287
|
+
exports.METHODS_HTTP2 = {
|
|
288
|
+
/**
|
|
289
|
+
* RFC-9113, section 11.6
|
|
290
|
+
* @see https://www.rfc-editor.org/rfc/rfc9113.html#preface
|
|
291
|
+
*/
|
|
292
|
+
PRI: 34,
|
|
293
|
+
};
|
|
294
|
+
exports.METHODS_HTTP = {
|
|
295
|
+
...exports.METHODS_HTTP1,
|
|
296
|
+
...exports.METHODS_HTTP2,
|
|
297
|
+
};
|
|
298
|
+
exports.METHODS = {
|
|
299
|
+
...exports.METHODS_HTTP1,
|
|
300
|
+
...exports.METHODS_HTTP2,
|
|
301
|
+
...exports.METHODS_RTSP,
|
|
302
|
+
};
|
|
303
|
+
// ALPHA: https://tools.ietf.org/html/rfc5234#appendix-B.1
|
|
304
|
+
exports.ALPHA = [
|
|
305
|
+
"A", "a", "B", "b", "C", "c", "D", "d",
|
|
306
|
+
"E", "e", "F", "f", "G", "g", "H", "h",
|
|
307
|
+
"I", "i", "J", "j", "K", "k", "L", "l",
|
|
308
|
+
"M", "m", "N", "n", "O", "o", "P", "p",
|
|
309
|
+
"Q", "q", "R", "r", "S", "s", "T", "t",
|
|
310
|
+
"U", "u", "V", "v", "W", "w", "X", "x",
|
|
311
|
+
"Y", "y", "Z", "z",
|
|
312
|
+
];
|
|
313
|
+
exports.NUM_MAP = {
|
|
314
|
+
0: 0, 1: 1, 2: 2, 3: 3, 4: 4,
|
|
315
|
+
5: 5, 6: 6, 7: 7, 8: 8, 9: 9,
|
|
316
|
+
};
|
|
317
|
+
exports.HEX_MAP = {
|
|
318
|
+
0: 0, 1: 1, 2: 2, 3: 3, 4: 4,
|
|
319
|
+
5: 5, 6: 6, 7: 7, 8: 8, 9: 9,
|
|
320
|
+
A: 0XA, B: 0XB, C: 0XC, D: 0XD, E: 0XE, F: 0XF,
|
|
321
|
+
a: 0xa, b: 0xb, c: 0xc, d: 0xd, e: 0xe, f: 0xf,
|
|
322
|
+
};
|
|
323
|
+
// DIGIT: https://tools.ietf.org/html/rfc5234#appendix-B.1
|
|
324
|
+
exports.DIGIT = [
|
|
325
|
+
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
|
|
326
|
+
];
|
|
327
|
+
exports.ALPHANUM = [...exports.ALPHA, ...exports.DIGIT];
|
|
328
|
+
exports.MARK = ['-', '_', '.', '!', '~', '*', '\'', '(', ')'];
|
|
329
|
+
exports.USERINFO_CHARS = [...exports.ALPHANUM, ...exports.MARK, '%', ';', ':', '&', '=', '+', '$', ','];
|
|
330
|
+
// TODO(indutny): use RFC
|
|
331
|
+
exports.URL_CHAR = [
|
|
332
|
+
'!', '"', '$', '%', '&', '\'',
|
|
333
|
+
'(', ')', '*', '+', ',', '-', '.', '/',
|
|
334
|
+
':', ';', '<', '=', '>',
|
|
335
|
+
'@', '[', '\\', ']', '^', '_',
|
|
336
|
+
'`',
|
|
337
|
+
'{', '|', '}', '~',
|
|
338
|
+
...exports.ALPHANUM
|
|
339
|
+
];
|
|
340
|
+
exports.HEX = [...exports.DIGIT, 'a', 'b', 'c', 'd', 'e', 'f', 'A', 'B', 'C', 'D', 'E', 'F'];
|
|
341
|
+
/* Tokens as defined by rfc 2616. Also lowercases them.
|
|
342
|
+
* token = 1*<any CHAR except CTLs or separators>
|
|
343
|
+
* separators = "(" | ")" | "<" | ">" | "@"
|
|
344
|
+
* | "," | ";" | ":" | "\" | <">
|
|
345
|
+
* | "/" | "[" | "]" | "?" | "="
|
|
346
|
+
* | "{" | "}" | SP | HT
|
|
347
|
+
*/
|
|
348
|
+
exports.TOKEN = [
|
|
349
|
+
'!', '#', '$', '%', '&', '\'',
|
|
350
|
+
'*', '+', '-', '.',
|
|
351
|
+
'^', '_', '`',
|
|
352
|
+
'|', '~',
|
|
353
|
+
...exports.ALPHANUM
|
|
354
|
+
];
|
|
355
|
+
// HTAB: https://tools.ietf.org/html/rfc5234#appendix-B.1
|
|
356
|
+
exports.HTAB = ['\t'];
|
|
357
|
+
// SP: https://tools.ietf.org/html/rfc5234#appendix-B.1
|
|
358
|
+
exports.SP = [' '];
|
|
359
|
+
// VCHAR: https://tools.ietf.org/html/rfc5234#appendix-B.1
|
|
360
|
+
const VCHAR = [
|
|
361
|
+
0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
|
|
362
|
+
0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
|
|
363
|
+
0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
|
|
364
|
+
0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
|
|
365
|
+
0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
|
|
366
|
+
0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
|
|
367
|
+
0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
|
|
368
|
+
0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
|
|
369
|
+
0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
|
|
370
|
+
0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
|
|
371
|
+
0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
|
|
372
|
+
0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e,
|
|
373
|
+
];
|
|
374
|
+
// OBS_TEXT: https://datatracker.ietf.org/doc/html/rfc9110#name-collected-abnf
|
|
375
|
+
// 0x80 - 0xff
|
|
376
|
+
const OBS_TEXT = [
|
|
377
|
+
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
|
|
378
|
+
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
|
|
379
|
+
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
|
|
380
|
+
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
|
|
381
|
+
0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
|
|
382
|
+
0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
|
|
383
|
+
0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
|
|
384
|
+
0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
|
|
385
|
+
0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
|
|
386
|
+
0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
|
|
387
|
+
0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
|
|
388
|
+
0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
|
|
389
|
+
0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
|
|
390
|
+
0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
|
|
391
|
+
0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
|
|
392
|
+
0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
|
|
393
|
+
];
|
|
394
|
+
exports.HTAB_SP_VCHAR_OBS_TEXT = [...exports.HTAB, ...exports.SP, ...VCHAR, ...OBS_TEXT];
|
|
395
|
+
exports.HEADER_CHARS = exports.HTAB_SP_VCHAR_OBS_TEXT;
|
|
396
|
+
const RELAXED_CTRL_CHARS = [
|
|
397
|
+
0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, // Before TAB
|
|
398
|
+
0x0b, 0x0c, // VT, FF (between TAB and CR)
|
|
399
|
+
0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, // After CR/LF, before space
|
|
400
|
+
0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
|
|
401
|
+
0x1e, 0x1f,
|
|
402
|
+
0x7f, // DEL
|
|
403
|
+
];
|
|
404
|
+
// Relaxed header chars includes control characters (above) that are not allowed
|
|
405
|
+
// by default. This excludes only NULL (0x00), CR (0x0d), LF (0x0a).
|
|
406
|
+
exports.RELAXED_HEADER_CHARS = [...RELAXED_CTRL_CHARS, ...exports.HEADER_CHARS];
|
|
407
|
+
// ',' = \x2c
|
|
408
|
+
exports.CONNECTION_TOKEN_CHARS = [
|
|
409
|
+
...exports.HTAB, ...exports.SP,
|
|
410
|
+
0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
|
|
411
|
+
0x29, 0x2a, 0x2b, /* */ 0x2d, 0x2e, 0x2f, 0x30,
|
|
412
|
+
0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
|
|
413
|
+
0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
|
|
414
|
+
0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
|
|
415
|
+
0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
|
|
416
|
+
0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
|
|
417
|
+
0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
|
|
418
|
+
0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
|
|
419
|
+
0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
|
|
420
|
+
0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
|
|
421
|
+
0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e,
|
|
422
|
+
...OBS_TEXT
|
|
423
|
+
];
|
|
424
|
+
// QDTEXT: https://datatracker.ietf.org/doc/html/rfc9110#section-5.6.4
|
|
425
|
+
exports.QDTEXT = [
|
|
426
|
+
...exports.HTAB, ...exports.SP,
|
|
427
|
+
0x21,
|
|
428
|
+
0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
|
|
429
|
+
0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32,
|
|
430
|
+
0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a,
|
|
431
|
+
0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42,
|
|
432
|
+
0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
|
|
433
|
+
0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
|
|
434
|
+
0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
|
|
435
|
+
0x5b,
|
|
436
|
+
0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64,
|
|
437
|
+
0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c,
|
|
438
|
+
0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74,
|
|
439
|
+
0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c,
|
|
440
|
+
0x7d, 0x7e,
|
|
441
|
+
...OBS_TEXT
|
|
442
|
+
];
|
|
443
|
+
exports.MAJOR = exports.NUM_MAP;
|
|
444
|
+
exports.MINOR = exports.MAJOR;
|
|
445
|
+
exports.SPECIAL_HEADERS = {
|
|
446
|
+
'connection': exports.HEADER_STATE.CONNECTION,
|
|
447
|
+
'content-length': exports.HEADER_STATE.CONTENT_LENGTH,
|
|
448
|
+
'proxy-connection': exports.HEADER_STATE.CONNECTION,
|
|
449
|
+
'transfer-encoding': exports.HEADER_STATE.TRANSFER_ENCODING,
|
|
450
|
+
'upgrade': exports.HEADER_STATE.UPGRADE,
|
|
451
|
+
};
|
|
452
|
+
exports.default = {
|
|
453
|
+
ERROR: exports.ERROR,
|
|
454
|
+
TYPE: exports.TYPE,
|
|
455
|
+
FLAGS: exports.FLAGS,
|
|
456
|
+
LENIENT_FLAGS: exports.LENIENT_FLAGS,
|
|
457
|
+
STATUSES: exports.STATUSES,
|
|
458
|
+
FINISH: exports.FINISH,
|
|
459
|
+
HEADER_STATE: exports.HEADER_STATE,
|
|
460
|
+
ALPHA: exports.ALPHA,
|
|
461
|
+
NUM_MAP: exports.NUM_MAP,
|
|
462
|
+
HEX_MAP: exports.HEX_MAP,
|
|
463
|
+
DIGIT: exports.DIGIT,
|
|
464
|
+
ALPHANUM: exports.ALPHANUM,
|
|
465
|
+
MARK: exports.MARK,
|
|
466
|
+
USERINFO_CHARS: exports.USERINFO_CHARS,
|
|
467
|
+
URL_CHAR: exports.URL_CHAR,
|
|
468
|
+
HEX: exports.HEX,
|
|
469
|
+
TOKEN: exports.TOKEN,
|
|
470
|
+
HEADER_CHARS: exports.HEADER_CHARS,
|
|
471
|
+
RELAXED_HEADER_CHARS: exports.RELAXED_HEADER_CHARS,
|
|
472
|
+
CONNECTION_TOKEN_CHARS: exports.CONNECTION_TOKEN_CHARS,
|
|
473
|
+
QDTEXT: exports.QDTEXT,
|
|
474
|
+
HTAB_SP_VCHAR_OBS_TEXT: exports.HTAB_SP_VCHAR_OBS_TEXT,
|
|
475
|
+
MAJOR: exports.MAJOR,
|
|
476
|
+
MINOR: exports.MINOR,
|
|
477
|
+
SPECIAL_HEADERS: exports.SPECIAL_HEADERS,
|
|
478
|
+
METHODS: exports.METHODS,
|
|
479
|
+
METHODS_HTTP: exports.METHODS_HTTP,
|
|
480
|
+
METHODS_HTTP1_HEAD: exports.METHODS_HTTP1_HEAD,
|
|
481
|
+
METHODS_HTTP1: exports.METHODS_HTTP1,
|
|
482
|
+
METHODS_HTTP2: exports.METHODS_HTTP2,
|
|
483
|
+
METHODS_ICECAST: exports.METHODS_ICECAST,
|
|
484
|
+
METHODS_RTSP: exports.METHODS_RTSP,
|
|
485
|
+
};
|