@azure/core-rest-pipeline 1.19.2-alpha.20250417.3 → 1.20.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/dist/browser/constants.js +1 -1
- package/dist/browser/constants.js.map +1 -1
- package/dist/browser/createPipelineFromOptions.js +2 -0
- package/dist/browser/createPipelineFromOptions.js.map +1 -1
- package/dist/browser/defaultHttpClient.d.ts +1 -1
- package/dist/browser/defaultHttpClient.js +21 -3
- package/dist/browser/defaultHttpClient.js.map +1 -0
- package/dist/browser/httpHeaders.js +2 -80
- package/dist/browser/httpHeaders.js.map +1 -1
- package/dist/browser/index.d.ts +1 -2
- package/dist/browser/index.js +1 -1
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/interfaces.d.ts +11 -0
- package/dist/browser/interfaces.js.map +1 -1
- package/dist/browser/pipeline.js +2 -253
- package/dist/browser/pipeline.js.map +1 -1
- package/dist/browser/pipelineRequest.d.ts +11 -0
- package/dist/browser/pipelineRequest.js +5 -28
- package/dist/browser/pipelineRequest.js.map +1 -1
- package/dist/browser/policies/agentPolicy.js +3 -11
- package/dist/browser/policies/agentPolicy.js.map +1 -1
- package/dist/browser/policies/decompressResponsePolicy.d.ts +8 -4
- package/dist/browser/policies/decompressResponsePolicy.js +8 -7
- package/dist/browser/policies/decompressResponsePolicy.js.map +1 -0
- package/dist/browser/policies/defaultRetryPolicy.js +3 -12
- package/dist/browser/policies/defaultRetryPolicy.js.map +1 -1
- package/dist/browser/policies/exponentialRetryPolicy.js +3 -10
- package/dist/browser/policies/exponentialRetryPolicy.js.map +1 -1
- package/dist/browser/policies/formDataPolicy.js +3 -85
- package/dist/browser/policies/formDataPolicy.js.map +1 -1
- package/dist/browser/policies/logPolicy.js +3 -21
- package/dist/browser/policies/logPolicy.js.map +1 -1
- package/dist/browser/policies/multipartPolicy.js +12 -95
- package/dist/browser/policies/multipartPolicy.js.map +1 -1
- package/dist/browser/policies/proxyPolicy.d.ts +26 -2
- package/dist/browser/policies/proxyPolicy.js +26 -2
- package/dist/browser/policies/proxyPolicy.js.map +1 -0
- package/dist/browser/policies/redirectPolicy.js +3 -38
- package/dist/browser/policies/redirectPolicy.js.map +1 -1
- package/dist/browser/policies/retryPolicy.d.ts +59 -1
- package/dist/browser/policies/retryPolicy.js +5 -94
- package/dist/browser/policies/retryPolicy.js.map +1 -1
- package/dist/browser/policies/systemErrorRetryPolicy.js +3 -13
- package/dist/browser/policies/systemErrorRetryPolicy.js.map +1 -1
- package/dist/browser/policies/throttlingRetryPolicy.js +3 -11
- package/dist/browser/policies/throttlingRetryPolicy.js.map +1 -1
- package/dist/browser/policies/tlsPolicy.js +3 -11
- package/dist/browser/policies/tlsPolicy.js.map +1 -1
- package/dist/browser/policies/tracingPolicy.js +1 -1
- package/dist/browser/policies/tracingPolicy.js.map +1 -1
- package/dist/browser/policies/wrapAbortSignalLikePolicy.d.ts +10 -0
- package/dist/browser/policies/wrapAbortSignalLikePolicy.js +30 -0
- package/dist/browser/policies/wrapAbortSignalLikePolicy.js.map +1 -0
- package/dist/browser/restError.js +8 -27
- package/dist/browser/restError.js.map +1 -1
- package/dist/browser/util/file.d.ts +28 -2
- package/dist/browser/util/file.js +9 -4
- package/dist/browser/util/file.js.map +1 -1
- package/dist/browser/util/tokenCycler.js +1 -1
- package/dist/browser/util/tokenCycler.js.map +1 -1
- package/dist/browser/util/wrapAbortSignal.d.ts +12 -0
- package/dist/browser/util/wrapAbortSignal.js +31 -0
- package/dist/browser/util/wrapAbortSignal.js.map +1 -0
- package/dist/commonjs/constants.js +1 -1
- package/dist/commonjs/constants.js.map +1 -1
- package/dist/commonjs/createPipelineFromOptions.js +2 -0
- package/dist/commonjs/createPipelineFromOptions.js.map +1 -1
- package/dist/commonjs/defaultHttpClient.js +20 -2
- package/dist/commonjs/defaultHttpClient.js.map +1 -1
- package/dist/commonjs/httpHeaders.js +2 -80
- package/dist/commonjs/httpHeaders.js.map +1 -1
- package/dist/commonjs/index.d.ts +1 -2
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/interfaces.d.ts +11 -0
- package/dist/commonjs/interfaces.js.map +1 -1
- package/dist/commonjs/pipeline.js +2 -253
- package/dist/commonjs/pipeline.js.map +1 -1
- package/dist/commonjs/pipelineRequest.d.ts +11 -0
- package/dist/commonjs/pipelineRequest.js +5 -28
- package/dist/commonjs/pipelineRequest.js.map +1 -1
- package/dist/commonjs/policies/agentPolicy.js +3 -11
- package/dist/commonjs/policies/agentPolicy.js.map +1 -1
- package/dist/commonjs/policies/decompressResponsePolicy.js +3 -11
- package/dist/commonjs/policies/decompressResponsePolicy.js.map +1 -1
- package/dist/commonjs/policies/defaultRetryPolicy.js +3 -12
- package/dist/commonjs/policies/defaultRetryPolicy.js.map +1 -1
- package/dist/commonjs/policies/exponentialRetryPolicy.js +3 -10
- package/dist/commonjs/policies/exponentialRetryPolicy.js.map +1 -1
- package/dist/commonjs/policies/formDataPolicy.js +3 -85
- package/dist/commonjs/policies/formDataPolicy.js.map +1 -1
- package/dist/commonjs/policies/logPolicy.js +3 -21
- package/dist/commonjs/policies/logPolicy.js.map +1 -1
- package/dist/commonjs/policies/multipartPolicy.js +12 -95
- package/dist/commonjs/policies/multipartPolicy.js.map +1 -1
- package/dist/commonjs/policies/proxyPolicy.d.ts +0 -6
- package/dist/commonjs/policies/proxyPolicy.js +5 -169
- package/dist/commonjs/policies/proxyPolicy.js.map +1 -1
- package/dist/commonjs/policies/redirectPolicy.js +3 -38
- package/dist/commonjs/policies/redirectPolicy.js.map +1 -1
- package/dist/commonjs/policies/retryPolicy.d.ts +59 -1
- package/dist/commonjs/policies/retryPolicy.js +5 -94
- package/dist/commonjs/policies/retryPolicy.js.map +1 -1
- package/dist/commonjs/policies/systemErrorRetryPolicy.js +3 -13
- package/dist/commonjs/policies/systemErrorRetryPolicy.js.map +1 -1
- package/dist/commonjs/policies/throttlingRetryPolicy.js +3 -11
- package/dist/commonjs/policies/throttlingRetryPolicy.js.map +1 -1
- package/dist/commonjs/policies/tlsPolicy.js +3 -11
- package/dist/commonjs/policies/tlsPolicy.js.map +1 -1
- package/dist/commonjs/policies/tracingPolicy.js +2 -2
- package/dist/commonjs/policies/tracingPolicy.js.map +1 -1
- package/dist/commonjs/policies/wrapAbortSignalLikePolicy.d.ts +10 -0
- package/dist/commonjs/policies/wrapAbortSignalLikePolicy.js +34 -0
- package/dist/commonjs/policies/wrapAbortSignalLikePolicy.js.map +1 -0
- package/dist/commonjs/restError.js +8 -27
- package/dist/commonjs/restError.js.map +1 -1
- package/dist/commonjs/tsdoc-metadata.json +1 -1
- package/dist/commonjs/util/file.d.ts +28 -2
- package/dist/commonjs/util/file.js +10 -4
- package/dist/commonjs/util/file.js.map +1 -1
- package/dist/commonjs/util/tokenCycler.js +2 -2
- package/dist/commonjs/util/tokenCycler.js.map +1 -1
- package/dist/commonjs/util/wrapAbortSignal.d.ts +12 -0
- package/dist/commonjs/util/wrapAbortSignal.js +34 -0
- package/dist/commonjs/util/wrapAbortSignal.js.map +1 -0
- package/dist/esm/constants.js +1 -1
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/createPipelineFromOptions.js +2 -0
- package/dist/esm/createPipelineFromOptions.js.map +1 -1
- package/dist/esm/defaultHttpClient.js +20 -2
- package/dist/esm/defaultHttpClient.js.map +1 -1
- package/dist/esm/httpHeaders.js +2 -80
- package/dist/esm/httpHeaders.js.map +1 -1
- package/dist/esm/index.d.ts +1 -2
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interfaces.d.ts +11 -0
- package/dist/esm/interfaces.js.map +1 -1
- package/dist/esm/pipeline.js +2 -253
- package/dist/esm/pipeline.js.map +1 -1
- package/dist/esm/pipelineRequest.d.ts +11 -0
- package/dist/esm/pipelineRequest.js +5 -28
- package/dist/esm/pipelineRequest.js.map +1 -1
- package/dist/esm/policies/agentPolicy.js +3 -11
- package/dist/esm/policies/agentPolicy.js.map +1 -1
- package/dist/esm/policies/decompressResponsePolicy.js +3 -11
- package/dist/esm/policies/decompressResponsePolicy.js.map +1 -1
- package/dist/esm/policies/defaultRetryPolicy.js +3 -12
- package/dist/esm/policies/defaultRetryPolicy.js.map +1 -1
- package/dist/esm/policies/exponentialRetryPolicy.js +3 -10
- package/dist/esm/policies/exponentialRetryPolicy.js.map +1 -1
- package/dist/esm/policies/formDataPolicy.js +3 -85
- package/dist/esm/policies/formDataPolicy.js.map +1 -1
- package/dist/esm/policies/logPolicy.js +3 -21
- package/dist/esm/policies/logPolicy.js.map +1 -1
- package/dist/esm/policies/multipartPolicy.js +12 -95
- package/dist/esm/policies/multipartPolicy.js.map +1 -1
- package/dist/esm/policies/proxyPolicy.d.ts +0 -6
- package/dist/esm/policies/proxyPolicy.js +4 -167
- package/dist/esm/policies/proxyPolicy.js.map +1 -1
- package/dist/esm/policies/redirectPolicy.js +3 -38
- package/dist/esm/policies/redirectPolicy.js.map +1 -1
- package/dist/esm/policies/retryPolicy.d.ts +59 -1
- package/dist/esm/policies/retryPolicy.js +5 -94
- package/dist/esm/policies/retryPolicy.js.map +1 -1
- package/dist/esm/policies/systemErrorRetryPolicy.js +3 -13
- package/dist/esm/policies/systemErrorRetryPolicy.js.map +1 -1
- package/dist/esm/policies/throttlingRetryPolicy.js +3 -11
- package/dist/esm/policies/throttlingRetryPolicy.js.map +1 -1
- package/dist/esm/policies/tlsPolicy.js +3 -11
- package/dist/esm/policies/tlsPolicy.js.map +1 -1
- package/dist/esm/policies/tracingPolicy.js +1 -1
- package/dist/esm/policies/tracingPolicy.js.map +1 -1
- package/dist/esm/policies/wrapAbortSignalLikePolicy.d.ts +10 -0
- package/dist/esm/policies/wrapAbortSignalLikePolicy.js +30 -0
- package/dist/esm/policies/wrapAbortSignalLikePolicy.js.map +1 -0
- package/dist/esm/restError.js +8 -27
- package/dist/esm/restError.js.map +1 -1
- package/dist/esm/util/file.d.ts +28 -2
- package/dist/esm/util/file.js +9 -4
- package/dist/esm/util/file.js.map +1 -1
- package/dist/esm/util/tokenCycler.js +1 -1
- package/dist/esm/util/tokenCycler.js.map +1 -1
- package/dist/esm/util/wrapAbortSignal.d.ts +12 -0
- package/dist/esm/util/wrapAbortSignal.js +31 -0
- package/dist/esm/util/wrapAbortSignal.js.map +1 -0
- package/dist/react-native/constants.js +1 -1
- package/dist/react-native/constants.js.map +1 -1
- package/dist/react-native/createPipelineFromOptions.js +2 -0
- package/dist/react-native/createPipelineFromOptions.js.map +1 -1
- package/dist/react-native/defaultHttpClient.d.ts +1 -1
- package/dist/react-native/defaultHttpClient.js +21 -3
- package/dist/react-native/defaultHttpClient.js.map +1 -0
- package/dist/react-native/httpHeaders.js +2 -80
- package/dist/react-native/httpHeaders.js.map +1 -1
- package/dist/react-native/index.d.ts +1 -2
- package/dist/react-native/index.js +1 -1
- package/dist/react-native/index.js.map +1 -1
- package/dist/react-native/interfaces.d.ts +11 -0
- package/dist/react-native/interfaces.js.map +1 -1
- package/dist/react-native/pipeline.js +2 -253
- package/dist/react-native/pipeline.js.map +1 -1
- package/dist/react-native/pipelineRequest.d.ts +11 -0
- package/dist/react-native/pipelineRequest.js +5 -28
- package/dist/react-native/pipelineRequest.js.map +1 -1
- package/dist/react-native/policies/agentPolicy.js +3 -11
- package/dist/react-native/policies/agentPolicy.js.map +1 -1
- package/dist/react-native/policies/decompressResponsePolicy.js +3 -11
- package/dist/react-native/policies/decompressResponsePolicy.js.map +1 -1
- package/dist/react-native/policies/defaultRetryPolicy.js +3 -12
- package/dist/react-native/policies/defaultRetryPolicy.js.map +1 -1
- package/dist/react-native/policies/exponentialRetryPolicy.js +3 -10
- package/dist/react-native/policies/exponentialRetryPolicy.js.map +1 -1
- package/dist/react-native/policies/formDataPolicy.js +3 -85
- package/dist/react-native/policies/formDataPolicy.js.map +1 -1
- package/dist/react-native/policies/logPolicy.js +3 -21
- package/dist/react-native/policies/logPolicy.js.map +1 -1
- package/dist/react-native/policies/multipartPolicy.js +12 -95
- package/dist/react-native/policies/multipartPolicy.js.map +1 -1
- package/dist/react-native/policies/proxyPolicy.d.ts +26 -2
- package/dist/react-native/policies/proxyPolicy.js +26 -2
- package/dist/react-native/policies/proxyPolicy.js.map +1 -0
- package/dist/react-native/policies/redirectPolicy.js +3 -38
- package/dist/react-native/policies/redirectPolicy.js.map +1 -1
- package/dist/react-native/policies/retryPolicy.d.ts +59 -1
- package/dist/react-native/policies/retryPolicy.js +5 -94
- package/dist/react-native/policies/retryPolicy.js.map +1 -1
- package/dist/react-native/policies/systemErrorRetryPolicy.js +3 -13
- package/dist/react-native/policies/systemErrorRetryPolicy.js.map +1 -1
- package/dist/react-native/policies/throttlingRetryPolicy.js +3 -11
- package/dist/react-native/policies/throttlingRetryPolicy.js.map +1 -1
- package/dist/react-native/policies/tlsPolicy.js +3 -11
- package/dist/react-native/policies/tlsPolicy.js.map +1 -1
- package/dist/react-native/policies/tracingPolicy.js +1 -1
- package/dist/react-native/policies/tracingPolicy.js.map +1 -1
- package/dist/react-native/policies/wrapAbortSignalLikePolicy.d.ts +10 -0
- package/dist/react-native/policies/wrapAbortSignalLikePolicy.js +30 -0
- package/dist/react-native/policies/wrapAbortSignalLikePolicy.js.map +1 -0
- package/dist/react-native/restError.js +8 -27
- package/dist/react-native/restError.js.map +1 -1
- package/dist/react-native/util/file.d.ts +28 -2
- package/dist/react-native/util/file.js +9 -4
- package/dist/react-native/util/file.js.map +1 -1
- package/dist/react-native/util/tokenCycler.js +1 -1
- package/dist/react-native/util/tokenCycler.js.map +1 -1
- package/dist/react-native/util/wrapAbortSignal.d.ts +12 -0
- package/dist/react-native/util/wrapAbortSignal.js +31 -0
- package/dist/react-native/util/wrapAbortSignal.js.map +1 -0
- package/package.json +5 -6
- package/dist/browser/accessTokenCache.d.ts +0 -40
- package/dist/browser/accessTokenCache.js +0 -32
- package/dist/browser/accessTokenCache.js.map +0 -1
- package/dist/browser/defaultHttpClient-browser.mjs.map +0 -1
- package/dist/browser/fetchHttpClient.d.ts +0 -7
- package/dist/browser/fetchHttpClient.js +0 -256
- package/dist/browser/fetchHttpClient.js.map +0 -1
- package/dist/browser/nodeHttpClient.d.ts +0 -9
- package/dist/browser/nodeHttpClient.js +0 -348
- package/dist/browser/nodeHttpClient.js.map +0 -1
- package/dist/browser/policies/decompressResponsePolicy-browser.mjs.map +0 -1
- package/dist/browser/policies/proxyPolicy-browser.mjs.map +0 -1
- package/dist/browser/policies/proxyPolicy.common.d.ts +0 -15
- package/dist/browser/policies/proxyPolicy.common.js +0 -24
- package/dist/browser/policies/proxyPolicy.common.js.map +0 -1
- package/dist/browser/retryStrategies/exponentialRetryStrategy.d.ts +0 -40
- package/dist/browser/retryStrategies/exponentialRetryStrategy.js +0 -64
- package/dist/browser/retryStrategies/exponentialRetryStrategy.js.map +0 -1
- package/dist/browser/retryStrategies/retryStrategy.d.ts +0 -61
- package/dist/browser/retryStrategies/retryStrategy.js +0 -4
- package/dist/browser/retryStrategies/retryStrategy.js.map +0 -1
- package/dist/browser/retryStrategies/throttlingRetryStrategy.d.ts +0 -9
- package/dist/browser/retryStrategies/throttlingRetryStrategy.js +0 -74
- package/dist/browser/retryStrategies/throttlingRetryStrategy.js.map +0 -1
- package/dist/browser/util/concat-browser.mjs.map +0 -1
- package/dist/browser/util/concat.common.d.ts +0 -18
- package/dist/browser/util/concat.common.js +0 -45
- package/dist/browser/util/concat.common.js.map +0 -1
- package/dist/browser/util/concat.d.ts +0 -2
- package/dist/browser/util/concat.js +0 -4
- package/dist/browser/util/helpers.d.ts +0 -21
- package/dist/browser/util/helpers.js +0 -58
- package/dist/browser/util/helpers.js.map +0 -1
- package/dist/browser/util/inspect-browser.mjs.map +0 -1
- package/dist/browser/util/inspect.common.d.ts +0 -2
- package/dist/browser/util/inspect.common.js +0 -4
- package/dist/browser/util/inspect.common.js.map +0 -1
- package/dist/browser/util/inspect.d.ts +0 -2
- package/dist/browser/util/inspect.js +0 -4
- package/dist/browser/util/sanitizer.d.ts +0 -30
- package/dist/browser/util/sanitizer.js +0 -139
- package/dist/browser/util/sanitizer.js.map +0 -1
- package/dist/browser/util/typeGuards.d.ts +0 -5
- package/dist/browser/util/typeGuards.js +0 -17
- package/dist/browser/util/typeGuards.js.map +0 -1
- package/dist/browser/xhrHttpClient.d.ts +0 -7
- package/dist/browser/xhrHttpClient.js +0 -167
- package/dist/browser/xhrHttpClient.js.map +0 -1
- package/dist/commonjs/accessTokenCache.d.ts +0 -40
- package/dist/commonjs/accessTokenCache.js +0 -36
- package/dist/commonjs/accessTokenCache.js.map +0 -1
- package/dist/commonjs/fetchHttpClient.d.ts +0 -7
- package/dist/commonjs/fetchHttpClient.js +0 -259
- package/dist/commonjs/fetchHttpClient.js.map +0 -1
- package/dist/commonjs/nodeHttpClient.d.ts +0 -9
- package/dist/commonjs/nodeHttpClient.js +0 -353
- package/dist/commonjs/nodeHttpClient.js.map +0 -1
- package/dist/commonjs/policies/proxyPolicy.common.d.ts +0 -15
- package/dist/commonjs/policies/proxyPolicy.common.js +0 -30
- package/dist/commonjs/policies/proxyPolicy.common.js.map +0 -1
- package/dist/commonjs/retryStrategies/exponentialRetryStrategy.d.ts +0 -40
- package/dist/commonjs/retryStrategies/exponentialRetryStrategy.js +0 -69
- package/dist/commonjs/retryStrategies/exponentialRetryStrategy.js.map +0 -1
- package/dist/commonjs/retryStrategies/retryStrategy.d.ts +0 -61
- package/dist/commonjs/retryStrategies/retryStrategy.js +0 -5
- package/dist/commonjs/retryStrategies/retryStrategy.js.map +0 -1
- package/dist/commonjs/retryStrategies/throttlingRetryStrategy.d.ts +0 -9
- package/dist/commonjs/retryStrategies/throttlingRetryStrategy.js +0 -78
- package/dist/commonjs/retryStrategies/throttlingRetryStrategy.js.map +0 -1
- package/dist/commonjs/util/concat.common.d.ts +0 -18
- package/dist/commonjs/util/concat.common.js +0 -48
- package/dist/commonjs/util/concat.common.js.map +0 -1
- package/dist/commonjs/util/concat.d.ts +0 -17
- package/dist/commonjs/util/concat.js +0 -91
- package/dist/commonjs/util/concat.js.map +0 -1
- package/dist/commonjs/util/helpers.d.ts +0 -21
- package/dist/commonjs/util/helpers.js +0 -62
- package/dist/commonjs/util/helpers.js.map +0 -1
- package/dist/commonjs/util/inspect.common.d.ts +0 -2
- package/dist/commonjs/util/inspect.common.js +0 -7
- package/dist/commonjs/util/inspect.common.js.map +0 -1
- package/dist/commonjs/util/inspect.d.ts +0 -2
- package/dist/commonjs/util/inspect.js +0 -8
- package/dist/commonjs/util/inspect.js.map +0 -1
- package/dist/commonjs/util/sanitizer.d.ts +0 -30
- package/dist/commonjs/util/sanitizer.js +0 -143
- package/dist/commonjs/util/sanitizer.js.map +0 -1
- package/dist/commonjs/util/typeGuards.d.ts +0 -5
- package/dist/commonjs/util/typeGuards.js +0 -23
- package/dist/commonjs/util/typeGuards.js.map +0 -1
- package/dist/commonjs/xhrHttpClient.d.ts +0 -7
- package/dist/commonjs/xhrHttpClient.js +0 -170
- package/dist/commonjs/xhrHttpClient.js.map +0 -1
- package/dist/esm/accessTokenCache.d.ts +0 -40
- package/dist/esm/accessTokenCache.js +0 -32
- package/dist/esm/accessTokenCache.js.map +0 -1
- package/dist/esm/fetchHttpClient.d.ts +0 -7
- package/dist/esm/fetchHttpClient.js +0 -256
- package/dist/esm/fetchHttpClient.js.map +0 -1
- package/dist/esm/nodeHttpClient.d.ts +0 -9
- package/dist/esm/nodeHttpClient.js +0 -348
- package/dist/esm/nodeHttpClient.js.map +0 -1
- package/dist/esm/policies/proxyPolicy.common.d.ts +0 -15
- package/dist/esm/policies/proxyPolicy.common.js +0 -24
- package/dist/esm/policies/proxyPolicy.common.js.map +0 -1
- package/dist/esm/retryStrategies/exponentialRetryStrategy.d.ts +0 -40
- package/dist/esm/retryStrategies/exponentialRetryStrategy.js +0 -64
- package/dist/esm/retryStrategies/exponentialRetryStrategy.js.map +0 -1
- package/dist/esm/retryStrategies/retryStrategy.d.ts +0 -61
- package/dist/esm/retryStrategies/retryStrategy.js +0 -4
- package/dist/esm/retryStrategies/retryStrategy.js.map +0 -1
- package/dist/esm/retryStrategies/throttlingRetryStrategy.d.ts +0 -9
- package/dist/esm/retryStrategies/throttlingRetryStrategy.js +0 -74
- package/dist/esm/retryStrategies/throttlingRetryStrategy.js.map +0 -1
- package/dist/esm/util/concat.common.d.ts +0 -18
- package/dist/esm/util/concat.common.js +0 -45
- package/dist/esm/util/concat.common.js.map +0 -1
- package/dist/esm/util/concat.d.ts +0 -17
- package/dist/esm/util/concat.js +0 -88
- package/dist/esm/util/concat.js.map +0 -1
- package/dist/esm/util/helpers.d.ts +0 -21
- package/dist/esm/util/helpers.js +0 -58
- package/dist/esm/util/helpers.js.map +0 -1
- package/dist/esm/util/inspect.common.d.ts +0 -2
- package/dist/esm/util/inspect.common.js +0 -4
- package/dist/esm/util/inspect.common.js.map +0 -1
- package/dist/esm/util/inspect.d.ts +0 -2
- package/dist/esm/util/inspect.js +0 -5
- package/dist/esm/util/inspect.js.map +0 -1
- package/dist/esm/util/sanitizer.d.ts +0 -30
- package/dist/esm/util/sanitizer.js +0 -139
- package/dist/esm/util/sanitizer.js.map +0 -1
- package/dist/esm/util/typeGuards.d.ts +0 -5
- package/dist/esm/util/typeGuards.js +0 -17
- package/dist/esm/util/typeGuards.js.map +0 -1
- package/dist/esm/xhrHttpClient.d.ts +0 -7
- package/dist/esm/xhrHttpClient.js +0 -167
- package/dist/esm/xhrHttpClient.js.map +0 -1
- package/dist/react-native/accessTokenCache.d.ts +0 -40
- package/dist/react-native/accessTokenCache.js +0 -32
- package/dist/react-native/accessTokenCache.js.map +0 -1
- package/dist/react-native/defaultHttpClient-react-native.mjs.map +0 -1
- package/dist/react-native/fetchHttpClient.d.ts +0 -7
- package/dist/react-native/fetchHttpClient.js +0 -256
- package/dist/react-native/fetchHttpClient.js.map +0 -1
- package/dist/react-native/nodeHttpClient.d.ts +0 -9
- package/dist/react-native/nodeHttpClient.js +0 -348
- package/dist/react-native/nodeHttpClient.js.map +0 -1
- package/dist/react-native/policies/proxyPolicy-react-native.mjs.map +0 -1
- package/dist/react-native/policies/proxyPolicy.common.d.ts +0 -15
- package/dist/react-native/policies/proxyPolicy.common.js +0 -24
- package/dist/react-native/policies/proxyPolicy.common.js.map +0 -1
- package/dist/react-native/retryStrategies/exponentialRetryStrategy.d.ts +0 -40
- package/dist/react-native/retryStrategies/exponentialRetryStrategy.js +0 -64
- package/dist/react-native/retryStrategies/exponentialRetryStrategy.js.map +0 -1
- package/dist/react-native/retryStrategies/retryStrategy.d.ts +0 -61
- package/dist/react-native/retryStrategies/retryStrategy.js +0 -4
- package/dist/react-native/retryStrategies/retryStrategy.js.map +0 -1
- package/dist/react-native/retryStrategies/throttlingRetryStrategy.d.ts +0 -9
- package/dist/react-native/retryStrategies/throttlingRetryStrategy.js +0 -74
- package/dist/react-native/retryStrategies/throttlingRetryStrategy.js.map +0 -1
- package/dist/react-native/util/concat-react-native.mjs.map +0 -1
- package/dist/react-native/util/concat.common.d.ts +0 -18
- package/dist/react-native/util/concat.common.js +0 -45
- package/dist/react-native/util/concat.common.js.map +0 -1
- package/dist/react-native/util/concat.d.ts +0 -2
- package/dist/react-native/util/concat.js +0 -4
- package/dist/react-native/util/helpers.d.ts +0 -21
- package/dist/react-native/util/helpers.js +0 -58
- package/dist/react-native/util/helpers.js.map +0 -1
- package/dist/react-native/util/inspect-react-native.mjs.map +0 -1
- package/dist/react-native/util/inspect.common.d.ts +0 -2
- package/dist/react-native/util/inspect.common.js +0 -4
- package/dist/react-native/util/inspect.common.js.map +0 -1
- package/dist/react-native/util/inspect.d.ts +0 -2
- package/dist/react-native/util/inspect.js +0 -4
- package/dist/react-native/util/sanitizer.d.ts +0 -30
- package/dist/react-native/util/sanitizer.js +0 -139
- package/dist/react-native/util/sanitizer.js.map +0 -1
- package/dist/react-native/util/typeGuards.d.ts +0 -5
- package/dist/react-native/util/typeGuards.js +0 -17
- package/dist/react-native/util/typeGuards.js.map +0 -1
- package/dist/react-native/xhrHttpClient.d.ts +0 -7
- package/dist/react-native/xhrHttpClient.js +0 -167
- package/dist/react-native/xhrHttpClient.js.map +0 -1
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @internal
|
|
3
|
-
*/
|
|
4
|
-
export interface SanitizerOptions {
|
|
5
|
-
/**
|
|
6
|
-
* Header names whose values will be logged when logging is enabled.
|
|
7
|
-
* Defaults include a list of well-known safe headers. Any headers
|
|
8
|
-
* specified in this field will be added to that list. Any other values will
|
|
9
|
-
* be written to logs as "REDACTED".
|
|
10
|
-
*/
|
|
11
|
-
additionalAllowedHeaderNames?: string[];
|
|
12
|
-
/**
|
|
13
|
-
* Query string names whose values will be logged when logging is enabled. By default no
|
|
14
|
-
* query string values are logged.
|
|
15
|
-
*/
|
|
16
|
-
additionalAllowedQueryParameters?: string[];
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* @internal
|
|
20
|
-
*/
|
|
21
|
-
export declare class Sanitizer {
|
|
22
|
-
private allowedHeaderNames;
|
|
23
|
-
private allowedQueryParameters;
|
|
24
|
-
constructor({ additionalAllowedHeaderNames: allowedHeaderNames, additionalAllowedQueryParameters: allowedQueryParameters, }?: SanitizerOptions);
|
|
25
|
-
sanitize(obj: unknown): string;
|
|
26
|
-
sanitizeUrl(value: string): string;
|
|
27
|
-
private sanitizeHeaders;
|
|
28
|
-
private sanitizeQuery;
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=sanitizer.d.ts.map
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT License.
|
|
3
|
-
import { isObject } from "@azure/core-util";
|
|
4
|
-
const RedactedString = "REDACTED";
|
|
5
|
-
// Make sure this list is up-to-date with the one under core/logger/Readme#Keyconcepts
|
|
6
|
-
const defaultAllowedHeaderNames = [
|
|
7
|
-
"x-ms-client-request-id",
|
|
8
|
-
"x-ms-return-client-request-id",
|
|
9
|
-
"x-ms-useragent",
|
|
10
|
-
"x-ms-correlation-request-id",
|
|
11
|
-
"x-ms-request-id",
|
|
12
|
-
"client-request-id",
|
|
13
|
-
"ms-cv",
|
|
14
|
-
"return-client-request-id",
|
|
15
|
-
"traceparent",
|
|
16
|
-
"Access-Control-Allow-Credentials",
|
|
17
|
-
"Access-Control-Allow-Headers",
|
|
18
|
-
"Access-Control-Allow-Methods",
|
|
19
|
-
"Access-Control-Allow-Origin",
|
|
20
|
-
"Access-Control-Expose-Headers",
|
|
21
|
-
"Access-Control-Max-Age",
|
|
22
|
-
"Access-Control-Request-Headers",
|
|
23
|
-
"Access-Control-Request-Method",
|
|
24
|
-
"Origin",
|
|
25
|
-
"Accept",
|
|
26
|
-
"Accept-Encoding",
|
|
27
|
-
"Cache-Control",
|
|
28
|
-
"Connection",
|
|
29
|
-
"Content-Length",
|
|
30
|
-
"Content-Type",
|
|
31
|
-
"Date",
|
|
32
|
-
"ETag",
|
|
33
|
-
"Expires",
|
|
34
|
-
"If-Match",
|
|
35
|
-
"If-Modified-Since",
|
|
36
|
-
"If-None-Match",
|
|
37
|
-
"If-Unmodified-Since",
|
|
38
|
-
"Last-Modified",
|
|
39
|
-
"Pragma",
|
|
40
|
-
"Request-Id",
|
|
41
|
-
"Retry-After",
|
|
42
|
-
"Server",
|
|
43
|
-
"Transfer-Encoding",
|
|
44
|
-
"User-Agent",
|
|
45
|
-
"WWW-Authenticate",
|
|
46
|
-
];
|
|
47
|
-
const defaultAllowedQueryParameters = ["api-version"];
|
|
48
|
-
/**
|
|
49
|
-
* @internal
|
|
50
|
-
*/
|
|
51
|
-
export class Sanitizer {
|
|
52
|
-
constructor({ additionalAllowedHeaderNames: allowedHeaderNames = [], additionalAllowedQueryParameters: allowedQueryParameters = [], } = {}) {
|
|
53
|
-
allowedHeaderNames = defaultAllowedHeaderNames.concat(allowedHeaderNames);
|
|
54
|
-
allowedQueryParameters = defaultAllowedQueryParameters.concat(allowedQueryParameters);
|
|
55
|
-
this.allowedHeaderNames = new Set(allowedHeaderNames.map((n) => n.toLowerCase()));
|
|
56
|
-
this.allowedQueryParameters = new Set(allowedQueryParameters.map((p) => p.toLowerCase()));
|
|
57
|
-
}
|
|
58
|
-
sanitize(obj) {
|
|
59
|
-
const seen = new Set();
|
|
60
|
-
return JSON.stringify(obj, (key, value) => {
|
|
61
|
-
// Ensure Errors include their interesting non-enumerable members
|
|
62
|
-
if (value instanceof Error) {
|
|
63
|
-
return Object.assign(Object.assign({}, value), { name: value.name, message: value.message });
|
|
64
|
-
}
|
|
65
|
-
if (key === "headers") {
|
|
66
|
-
return this.sanitizeHeaders(value);
|
|
67
|
-
}
|
|
68
|
-
else if (key === "url") {
|
|
69
|
-
return this.sanitizeUrl(value);
|
|
70
|
-
}
|
|
71
|
-
else if (key === "query") {
|
|
72
|
-
return this.sanitizeQuery(value);
|
|
73
|
-
}
|
|
74
|
-
else if (key === "body") {
|
|
75
|
-
// Don't log the request body
|
|
76
|
-
return undefined;
|
|
77
|
-
}
|
|
78
|
-
else if (key === "response") {
|
|
79
|
-
// Don't log response again
|
|
80
|
-
return undefined;
|
|
81
|
-
}
|
|
82
|
-
else if (key === "operationSpec") {
|
|
83
|
-
// When using sendOperationRequest, the request carries a massive
|
|
84
|
-
// field with the autorest spec. No need to log it.
|
|
85
|
-
return undefined;
|
|
86
|
-
}
|
|
87
|
-
else if (Array.isArray(value) || isObject(value)) {
|
|
88
|
-
if (seen.has(value)) {
|
|
89
|
-
return "[Circular]";
|
|
90
|
-
}
|
|
91
|
-
seen.add(value);
|
|
92
|
-
}
|
|
93
|
-
return value;
|
|
94
|
-
}, 2);
|
|
95
|
-
}
|
|
96
|
-
sanitizeUrl(value) {
|
|
97
|
-
if (typeof value !== "string" || value === null || value === "") {
|
|
98
|
-
return value;
|
|
99
|
-
}
|
|
100
|
-
const url = new URL(value);
|
|
101
|
-
if (!url.search) {
|
|
102
|
-
return value;
|
|
103
|
-
}
|
|
104
|
-
for (const [key] of url.searchParams) {
|
|
105
|
-
if (!this.allowedQueryParameters.has(key.toLowerCase())) {
|
|
106
|
-
url.searchParams.set(key, RedactedString);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
return url.toString();
|
|
110
|
-
}
|
|
111
|
-
sanitizeHeaders(obj) {
|
|
112
|
-
const sanitized = {};
|
|
113
|
-
for (const key of Object.keys(obj)) {
|
|
114
|
-
if (this.allowedHeaderNames.has(key.toLowerCase())) {
|
|
115
|
-
sanitized[key] = obj[key];
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
sanitized[key] = RedactedString;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
return sanitized;
|
|
122
|
-
}
|
|
123
|
-
sanitizeQuery(value) {
|
|
124
|
-
if (typeof value !== "object" || value === null) {
|
|
125
|
-
return value;
|
|
126
|
-
}
|
|
127
|
-
const sanitized = {};
|
|
128
|
-
for (const k of Object.keys(value)) {
|
|
129
|
-
if (this.allowedQueryParameters.has(k.toLowerCase())) {
|
|
130
|
-
sanitized[k] = value[k];
|
|
131
|
-
}
|
|
132
|
-
else {
|
|
133
|
-
sanitized[k] = RedactedString;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
return sanitized;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
//# sourceMappingURL=sanitizer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sanitizer.js","sourceRoot":"","sources":["../../../src/util/sanitizer.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { type UnknownObject, isObject } from \"@azure/core-util\";\n\n/**\n * @internal\n */\nexport interface SanitizerOptions {\n /**\n * Header names whose values will be logged when logging is enabled.\n * Defaults include a list of well-known safe headers. Any headers\n * specified in this field will be added to that list. Any other values will\n * be written to logs as \"REDACTED\".\n */\n additionalAllowedHeaderNames?: string[];\n\n /**\n * Query string names whose values will be logged when logging is enabled. By default no\n * query string values are logged.\n */\n additionalAllowedQueryParameters?: string[];\n}\n\nconst RedactedString = \"REDACTED\";\n\n// Make sure this list is up-to-date with the one under core/logger/Readme#Keyconcepts\nconst defaultAllowedHeaderNames = [\n \"x-ms-client-request-id\",\n \"x-ms-return-client-request-id\",\n \"x-ms-useragent\",\n \"x-ms-correlation-request-id\",\n \"x-ms-request-id\",\n \"client-request-id\",\n \"ms-cv\",\n \"return-client-request-id\",\n \"traceparent\",\n\n \"Access-Control-Allow-Credentials\",\n \"Access-Control-Allow-Headers\",\n \"Access-Control-Allow-Methods\",\n \"Access-Control-Allow-Origin\",\n \"Access-Control-Expose-Headers\",\n \"Access-Control-Max-Age\",\n \"Access-Control-Request-Headers\",\n \"Access-Control-Request-Method\",\n \"Origin\",\n\n \"Accept\",\n \"Accept-Encoding\",\n \"Cache-Control\",\n \"Connection\",\n \"Content-Length\",\n \"Content-Type\",\n \"Date\",\n \"ETag\",\n \"Expires\",\n \"If-Match\",\n \"If-Modified-Since\",\n \"If-None-Match\",\n \"If-Unmodified-Since\",\n \"Last-Modified\",\n \"Pragma\",\n \"Request-Id\",\n \"Retry-After\",\n \"Server\",\n \"Transfer-Encoding\",\n \"User-Agent\",\n \"WWW-Authenticate\",\n];\n\nconst defaultAllowedQueryParameters: string[] = [\"api-version\"];\n\n/**\n * @internal\n */\nexport class Sanitizer {\n private allowedHeaderNames: Set<string>;\n private allowedQueryParameters: Set<string>;\n\n constructor({\n additionalAllowedHeaderNames: allowedHeaderNames = [],\n additionalAllowedQueryParameters: allowedQueryParameters = [],\n }: SanitizerOptions = {}) {\n allowedHeaderNames = defaultAllowedHeaderNames.concat(allowedHeaderNames);\n allowedQueryParameters = defaultAllowedQueryParameters.concat(allowedQueryParameters);\n\n this.allowedHeaderNames = new Set(allowedHeaderNames.map((n) => n.toLowerCase()));\n this.allowedQueryParameters = new Set(allowedQueryParameters.map((p) => p.toLowerCase()));\n }\n\n public sanitize(obj: unknown): string {\n const seen = new Set<unknown>();\n return JSON.stringify(\n obj,\n (key: string, value: unknown) => {\n // Ensure Errors include their interesting non-enumerable members\n if (value instanceof Error) {\n return {\n ...value,\n name: value.name,\n message: value.message,\n };\n }\n\n if (key === \"headers\") {\n return this.sanitizeHeaders(value as UnknownObject);\n } else if (key === \"url\") {\n return this.sanitizeUrl(value as string);\n } else if (key === \"query\") {\n return this.sanitizeQuery(value as UnknownObject);\n } else if (key === \"body\") {\n // Don't log the request body\n return undefined;\n } else if (key === \"response\") {\n // Don't log response again\n return undefined;\n } else if (key === \"operationSpec\") {\n // When using sendOperationRequest, the request carries a massive\n // field with the autorest spec. No need to log it.\n return undefined;\n } else if (Array.isArray(value) || isObject(value)) {\n if (seen.has(value)) {\n return \"[Circular]\";\n }\n seen.add(value);\n }\n\n return value;\n },\n 2,\n );\n }\n\n public sanitizeUrl(value: string): string {\n if (typeof value !== \"string\" || value === null || value === \"\") {\n return value;\n }\n\n const url = new URL(value);\n\n if (!url.search) {\n return value;\n }\n\n for (const [key] of url.searchParams) {\n if (!this.allowedQueryParameters.has(key.toLowerCase())) {\n url.searchParams.set(key, RedactedString);\n }\n }\n\n return url.toString();\n }\n\n private sanitizeHeaders(obj: UnknownObject): UnknownObject {\n const sanitized: UnknownObject = {};\n for (const key of Object.keys(obj)) {\n if (this.allowedHeaderNames.has(key.toLowerCase())) {\n sanitized[key] = obj[key];\n } else {\n sanitized[key] = RedactedString;\n }\n }\n return sanitized;\n }\n\n private sanitizeQuery(value: UnknownObject): UnknownObject {\n if (typeof value !== \"object\" || value === null) {\n return value;\n }\n\n const sanitized: UnknownObject = {};\n\n for (const k of Object.keys(value)) {\n if (this.allowedQueryParameters.has(k.toLowerCase())) {\n sanitized[k] = value[k];\n } else {\n sanitized[k] = RedactedString;\n }\n }\n\n return sanitized;\n }\n}\n"]}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export declare function isNodeReadableStream(x: unknown): x is NodeJS.ReadableStream;
|
|
2
|
-
export declare function isWebReadableStream(x: unknown): x is ReadableStream;
|
|
3
|
-
export declare function isReadableStream(x: unknown): x is ReadableStream | NodeJS.ReadableStream;
|
|
4
|
-
export declare function isBlob(x: unknown): x is Blob;
|
|
5
|
-
//# sourceMappingURL=typeGuards.d.ts.map
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT License.
|
|
3
|
-
export function isNodeReadableStream(x) {
|
|
4
|
-
return Boolean(x && typeof x["pipe"] === "function");
|
|
5
|
-
}
|
|
6
|
-
export function isWebReadableStream(x) {
|
|
7
|
-
return Boolean(x &&
|
|
8
|
-
typeof x.getReader === "function" &&
|
|
9
|
-
typeof x.tee === "function");
|
|
10
|
-
}
|
|
11
|
-
export function isReadableStream(x) {
|
|
12
|
-
return isNodeReadableStream(x) || isWebReadableStream(x);
|
|
13
|
-
}
|
|
14
|
-
export function isBlob(x) {
|
|
15
|
-
return typeof x.stream === "function";
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=typeGuards.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"typeGuards.js","sourceRoot":"","sources":["../../../src/util/typeGuards.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,MAAM,UAAU,oBAAoB,CAAC,CAAU;IAC7C,OAAO,OAAO,CAAC,CAAC,IAAI,OAAQ,CAA2B,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,CAAU;IAC5C,OAAO,OAAO,CACZ,CAAC;QACC,OAAQ,CAAoB,CAAC,SAAS,KAAK,UAAU;QACrD,OAAQ,CAAoB,CAAC,GAAG,KAAK,UAAU,CAClD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,CAAU;IACzC,OAAO,oBAAoB,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,CAAU;IAC/B,OAAO,OAAQ,CAAU,CAAC,MAAM,KAAK,UAAU,CAAC;AAClD,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport function isNodeReadableStream(x: unknown): x is NodeJS.ReadableStream {\n return Boolean(x && typeof (x as NodeJS.ReadableStream)[\"pipe\"] === \"function\");\n}\n\nexport function isWebReadableStream(x: unknown): x is ReadableStream {\n return Boolean(\n x &&\n typeof (x as ReadableStream).getReader === \"function\" &&\n typeof (x as ReadableStream).tee === \"function\",\n );\n}\n\nexport function isReadableStream(x: unknown): x is ReadableStream | NodeJS.ReadableStream {\n return isNodeReadableStream(x) || isWebReadableStream(x);\n}\n\nexport function isBlob(x: unknown): x is Blob {\n return typeof (x as Blob).stream === \"function\";\n}\n"]}
|
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT License.
|
|
3
|
-
import { AbortError } from "@azure/abort-controller";
|
|
4
|
-
import { createHttpHeaders } from "./httpHeaders.js";
|
|
5
|
-
import { RestError } from "./restError.js";
|
|
6
|
-
import { isReadableStream } from "./util/typeGuards.js";
|
|
7
|
-
/**
|
|
8
|
-
* A HttpClient implementation that uses XMLHttpRequest to send HTTP requests.
|
|
9
|
-
* @internal
|
|
10
|
-
*/
|
|
11
|
-
class XhrHttpClient {
|
|
12
|
-
/**
|
|
13
|
-
* Makes a request over an underlying transport layer and returns the response.
|
|
14
|
-
* @param request - The request to be made.
|
|
15
|
-
*/
|
|
16
|
-
async sendRequest(request) {
|
|
17
|
-
var _a;
|
|
18
|
-
const url = new URL(request.url);
|
|
19
|
-
const isInsecure = url.protocol !== "https:";
|
|
20
|
-
if (isInsecure && !request.allowInsecureConnection) {
|
|
21
|
-
throw new Error(`Cannot connect to ${request.url} while allowInsecureConnection is false.`);
|
|
22
|
-
}
|
|
23
|
-
const xhr = new XMLHttpRequest();
|
|
24
|
-
if (request.proxySettings) {
|
|
25
|
-
throw new Error("HTTP proxy is not supported in browser environment");
|
|
26
|
-
}
|
|
27
|
-
const abortSignal = request.abortSignal;
|
|
28
|
-
if (abortSignal) {
|
|
29
|
-
if (abortSignal.aborted) {
|
|
30
|
-
throw new AbortError("The operation was aborted. Request has already been canceled.");
|
|
31
|
-
}
|
|
32
|
-
const listener = () => {
|
|
33
|
-
xhr.abort();
|
|
34
|
-
};
|
|
35
|
-
abortSignal.addEventListener("abort", listener);
|
|
36
|
-
xhr.addEventListener("readystatechange", () => {
|
|
37
|
-
if (xhr.readyState === XMLHttpRequest.DONE) {
|
|
38
|
-
abortSignal.removeEventListener("abort", listener);
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
addProgressListener(xhr.upload, request.onUploadProgress);
|
|
43
|
-
addProgressListener(xhr, request.onDownloadProgress);
|
|
44
|
-
xhr.open(request.method, request.url);
|
|
45
|
-
xhr.timeout = request.timeout;
|
|
46
|
-
xhr.withCredentials = request.withCredentials;
|
|
47
|
-
for (const [name, value] of request.headers) {
|
|
48
|
-
xhr.setRequestHeader(name, value);
|
|
49
|
-
}
|
|
50
|
-
xhr.responseType = ((_a = request.streamResponseStatusCodes) === null || _a === void 0 ? void 0 : _a.size) ? "blob" : "text";
|
|
51
|
-
const body = typeof request.body === "function" ? request.body() : request.body;
|
|
52
|
-
if (isReadableStream(body)) {
|
|
53
|
-
throw new Error("streams are not supported in XhrHttpClient.");
|
|
54
|
-
}
|
|
55
|
-
xhr.send(body === undefined ? null : body);
|
|
56
|
-
if (xhr.responseType === "blob") {
|
|
57
|
-
return new Promise((resolve, reject) => {
|
|
58
|
-
handleBlobResponse(xhr, request, resolve, reject);
|
|
59
|
-
rejectOnTerminalEvent(request, xhr, reject);
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
return new Promise(function (resolve, reject) {
|
|
64
|
-
xhr.addEventListener("load", () => resolve({
|
|
65
|
-
request,
|
|
66
|
-
status: xhr.status,
|
|
67
|
-
headers: parseHeaders(xhr),
|
|
68
|
-
bodyAsText: xhr.responseText,
|
|
69
|
-
}));
|
|
70
|
-
rejectOnTerminalEvent(request, xhr, reject);
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
function handleBlobResponse(xhr, request, res, rej) {
|
|
76
|
-
xhr.addEventListener("readystatechange", () => {
|
|
77
|
-
var _a, _b;
|
|
78
|
-
// Resolve as soon as headers are loaded
|
|
79
|
-
if (xhr.readyState === XMLHttpRequest.HEADERS_RECEIVED) {
|
|
80
|
-
if (
|
|
81
|
-
// Value of POSITIVE_INFINITY in streamResponseStatusCodes is considered as any status code
|
|
82
|
-
((_a = request.streamResponseStatusCodes) === null || _a === void 0 ? void 0 : _a.has(Number.POSITIVE_INFINITY)) ||
|
|
83
|
-
((_b = request.streamResponseStatusCodes) === null || _b === void 0 ? void 0 : _b.has(xhr.status))) {
|
|
84
|
-
const blobBody = new Promise((resolve, reject) => {
|
|
85
|
-
xhr.addEventListener("load", () => {
|
|
86
|
-
resolve(xhr.response);
|
|
87
|
-
});
|
|
88
|
-
rejectOnTerminalEvent(request, xhr, reject);
|
|
89
|
-
});
|
|
90
|
-
res({
|
|
91
|
-
request,
|
|
92
|
-
status: xhr.status,
|
|
93
|
-
headers: parseHeaders(xhr),
|
|
94
|
-
blobBody,
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
xhr.addEventListener("load", () => {
|
|
99
|
-
// xhr.response is of Blob type if the request is sent with xhr.responseType === "blob"
|
|
100
|
-
// but the status code is not one of the stream response status codes,
|
|
101
|
-
// so treat it as text and convert from Blob to text
|
|
102
|
-
if (xhr.response) {
|
|
103
|
-
xhr.response
|
|
104
|
-
.text()
|
|
105
|
-
.then((text) => {
|
|
106
|
-
res({
|
|
107
|
-
request: request,
|
|
108
|
-
status: xhr.status,
|
|
109
|
-
headers: parseHeaders(xhr),
|
|
110
|
-
bodyAsText: text,
|
|
111
|
-
});
|
|
112
|
-
return;
|
|
113
|
-
})
|
|
114
|
-
.catch((e) => {
|
|
115
|
-
rej(e);
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
res({
|
|
120
|
-
request,
|
|
121
|
-
status: xhr.status,
|
|
122
|
-
headers: parseHeaders(xhr),
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
function addProgressListener(xhr, listener) {
|
|
131
|
-
if (listener) {
|
|
132
|
-
xhr.addEventListener("progress", (rawEvent) => listener({
|
|
133
|
-
loadedBytes: rawEvent.loaded,
|
|
134
|
-
}));
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
function parseHeaders(xhr) {
|
|
138
|
-
const responseHeaders = createHttpHeaders();
|
|
139
|
-
const headerLines = xhr
|
|
140
|
-
.getAllResponseHeaders()
|
|
141
|
-
.trim()
|
|
142
|
-
.split(/[\r\n]+/);
|
|
143
|
-
for (const line of headerLines) {
|
|
144
|
-
const index = line.indexOf(":");
|
|
145
|
-
const headerName = line.slice(0, index);
|
|
146
|
-
const headerValue = line.slice(index + 2);
|
|
147
|
-
responseHeaders.set(headerName, headerValue);
|
|
148
|
-
}
|
|
149
|
-
return responseHeaders;
|
|
150
|
-
}
|
|
151
|
-
function rejectOnTerminalEvent(request, xhr, reject) {
|
|
152
|
-
xhr.addEventListener("error", () => reject(new RestError(`Failed to send request to ${request.url}`, {
|
|
153
|
-
code: RestError.REQUEST_SEND_ERROR,
|
|
154
|
-
request,
|
|
155
|
-
})));
|
|
156
|
-
const abortError = new AbortError("The operation was aborted.");
|
|
157
|
-
xhr.addEventListener("abort", () => reject(abortError));
|
|
158
|
-
xhr.addEventListener("timeout", () => reject(abortError));
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Create a new HttpClient instance for the browser environment.
|
|
162
|
-
* @internal
|
|
163
|
-
*/
|
|
164
|
-
export function createXhrHttpClient() {
|
|
165
|
-
return new XhrHttpClient();
|
|
166
|
-
}
|
|
167
|
-
//# sourceMappingURL=xhrHttpClient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"xhrHttpClient.js","sourceRoot":"","sources":["../../src/xhrHttpClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AbortError } from \"@azure/abort-controller\";\nimport type {\n HttpClient,\n HttpHeaders,\n PipelineRequest,\n PipelineResponse,\n TransferProgressEvent,\n} from \"./interfaces.js\";\nimport { createHttpHeaders } from \"./httpHeaders.js\";\nimport { RestError } from \"./restError.js\";\nimport { isReadableStream } from \"./util/typeGuards.js\";\n\n/**\n * A HttpClient implementation that uses XMLHttpRequest to send HTTP requests.\n * @internal\n */\nclass XhrHttpClient implements HttpClient {\n /**\n * Makes a request over an underlying transport layer and returns the response.\n * @param request - The request to be made.\n */\n public async sendRequest(request: PipelineRequest): Promise<PipelineResponse> {\n const url = new URL(request.url);\n const isInsecure = url.protocol !== \"https:\";\n\n if (isInsecure && !request.allowInsecureConnection) {\n throw new Error(`Cannot connect to ${request.url} while allowInsecureConnection is false.`);\n }\n\n const xhr = new XMLHttpRequest();\n\n if (request.proxySettings) {\n throw new Error(\"HTTP proxy is not supported in browser environment\");\n }\n\n const abortSignal = request.abortSignal;\n if (abortSignal) {\n if (abortSignal.aborted) {\n throw new AbortError(\"The operation was aborted. Request has already been canceled.\");\n }\n\n const listener = (): void => {\n xhr.abort();\n };\n abortSignal.addEventListener(\"abort\", listener);\n xhr.addEventListener(\"readystatechange\", () => {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n abortSignal.removeEventListener(\"abort\", listener);\n }\n });\n }\n\n addProgressListener(xhr.upload, request.onUploadProgress);\n addProgressListener(xhr, request.onDownloadProgress);\n\n xhr.open(request.method, request.url);\n xhr.timeout = request.timeout;\n xhr.withCredentials = request.withCredentials;\n for (const [name, value] of request.headers) {\n xhr.setRequestHeader(name, value);\n }\n\n xhr.responseType = request.streamResponseStatusCodes?.size ? \"blob\" : \"text\";\n\n const body = typeof request.body === \"function\" ? request.body() : request.body;\n if (isReadableStream(body)) {\n throw new Error(\"streams are not supported in XhrHttpClient.\");\n }\n\n xhr.send(body === undefined ? null : body);\n\n if (xhr.responseType === \"blob\") {\n return new Promise((resolve, reject) => {\n handleBlobResponse(xhr, request, resolve, reject);\n rejectOnTerminalEvent(request, xhr, reject);\n });\n } else {\n return new Promise(function (resolve, reject) {\n xhr.addEventListener(\"load\", () =>\n resolve({\n request,\n status: xhr.status,\n headers: parseHeaders(xhr),\n bodyAsText: xhr.responseText,\n }),\n );\n rejectOnTerminalEvent(request, xhr, reject);\n });\n }\n }\n}\n\nfunction handleBlobResponse(\n xhr: XMLHttpRequest,\n request: PipelineRequest,\n res: (value: PipelineResponse | PromiseLike<PipelineResponse>) => void,\n rej: (reason?: any) => void,\n): void {\n xhr.addEventListener(\"readystatechange\", () => {\n // Resolve as soon as headers are loaded\n if (xhr.readyState === XMLHttpRequest.HEADERS_RECEIVED) {\n if (\n // Value of POSITIVE_INFINITY in streamResponseStatusCodes is considered as any status code\n request.streamResponseStatusCodes?.has(Number.POSITIVE_INFINITY) ||\n request.streamResponseStatusCodes?.has(xhr.status)\n ) {\n const blobBody = new Promise<Blob>((resolve, reject) => {\n xhr.addEventListener(\"load\", () => {\n resolve(xhr.response);\n });\n rejectOnTerminalEvent(request, xhr, reject);\n });\n res({\n request,\n status: xhr.status,\n headers: parseHeaders(xhr),\n blobBody,\n });\n } else {\n xhr.addEventListener(\"load\", () => {\n // xhr.response is of Blob type if the request is sent with xhr.responseType === \"blob\"\n // but the status code is not one of the stream response status codes,\n // so treat it as text and convert from Blob to text\n if (xhr.response) {\n xhr.response\n .text()\n .then((text: string) => {\n res({\n request: request,\n status: xhr.status,\n headers: parseHeaders(xhr),\n bodyAsText: text,\n });\n return;\n })\n .catch((e: any) => {\n rej(e);\n });\n } else {\n res({\n request,\n status: xhr.status,\n headers: parseHeaders(xhr),\n });\n }\n });\n }\n }\n });\n}\n\nfunction addProgressListener(\n xhr: XMLHttpRequestEventTarget,\n listener?: (progress: TransferProgressEvent) => void,\n): void {\n if (listener) {\n xhr.addEventListener(\"progress\", (rawEvent) =>\n listener({\n loadedBytes: rawEvent.loaded,\n }),\n );\n }\n}\n\nfunction parseHeaders(xhr: XMLHttpRequest): HttpHeaders {\n const responseHeaders = createHttpHeaders();\n const headerLines = xhr\n .getAllResponseHeaders()\n .trim()\n .split(/[\\r\\n]+/);\n for (const line of headerLines) {\n const index = line.indexOf(\":\");\n const headerName = line.slice(0, index);\n const headerValue = line.slice(index + 2);\n responseHeaders.set(headerName, headerValue);\n }\n return responseHeaders;\n}\n\nfunction rejectOnTerminalEvent(\n request: PipelineRequest,\n xhr: XMLHttpRequest,\n reject: (err: any) => void,\n): void {\n xhr.addEventListener(\"error\", () =>\n reject(\n new RestError(`Failed to send request to ${request.url}`, {\n code: RestError.REQUEST_SEND_ERROR,\n request,\n }),\n ),\n );\n const abortError = new AbortError(\"The operation was aborted.\");\n xhr.addEventListener(\"abort\", () => reject(abortError));\n xhr.addEventListener(\"timeout\", () => reject(abortError));\n}\n\n/**\n * Create a new HttpClient instance for the browser environment.\n * @internal\n */\nexport function createXhrHttpClient(): HttpClient {\n return new XhrHttpClient();\n}\n"]}
|