@typespec/ts-http-runtime 1.0.0-alpha.20240214.1 → 1.0.0-alpha.20240223.2
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/abort-controller/AbortError.d.ts +22 -0
- package/dist/browser/abort-controller/AbortError.d.ts.map +1 -0
- package/dist/browser/abort-controller/AbortSignalLike.d.ts +19 -0
- package/dist/browser/abort-controller/AbortSignalLike.d.ts.map +1 -0
- package/dist/browser/accessTokenCache.d.ts +40 -0
- package/dist/browser/accessTokenCache.d.ts.map +1 -0
- package/dist/browser/accessTokenCache.js +34 -0
- package/dist/browser/accessTokenCache.js.map +1 -0
- package/dist/browser/auth/keyCredential.d.ts +10 -0
- package/dist/browser/auth/keyCredential.d.ts.map +1 -0
- package/dist/browser/auth/tokenCredential.d.ts +77 -0
- package/dist/browser/auth/tokenCredential.d.ts.map +1 -0
- package/dist/browser/auth/tokenCredential.js.map +1 -0
- package/dist/browser/client/apiVersionPolicy.d.ts +10 -0
- package/dist/browser/client/apiVersionPolicy.d.ts.map +1 -0
- package/dist/browser/client/apiVersionPolicy.js.map +1 -0
- package/dist/browser/client/clientHelpers.d.ts +28 -0
- package/dist/browser/client/clientHelpers.d.ts.map +1 -0
- package/dist/browser/client/clientHelpers.js +51 -0
- package/dist/browser/client/clientHelpers.js.map +1 -0
- package/dist/browser/client/common.d.ts +358 -0
- package/dist/browser/client/common.d.ts.map +1 -0
- package/dist/browser/client/common.js.map +1 -0
- package/dist/browser/client/getClient.d.ts +17 -0
- package/dist/browser/client/getClient.d.ts.map +1 -0
- package/dist/browser/client/getClient.js +84 -0
- package/dist/browser/client/getClient.js.map +1 -0
- package/dist/browser/client/helpers/getBinaryBody.d.ts +5 -0
- package/dist/browser/client/helpers/getBinaryBody.d.ts.map +1 -0
- package/dist/browser/client/keyCredentialAuthenticationPolicy.d.ts +8 -0
- package/dist/browser/client/keyCredentialAuthenticationPolicy.d.ts.map +1 -0
- package/dist/browser/client/keyCredentialAuthenticationPolicy.js.map +1 -0
- package/dist/browser/client/operationOptionHelpers.d.ts +8 -0
- package/dist/browser/client/operationOptionHelpers.d.ts.map +1 -0
- package/dist/browser/client/operationOptionHelpers.js +21 -0
- package/dist/browser/client/operationOptionHelpers.js.map +1 -0
- package/dist/browser/client/restError.d.ts +11 -0
- package/dist/browser/client/restError.d.ts.map +1 -0
- package/dist/browser/client/restError.js +29 -0
- package/dist/browser/client/restError.js.map +1 -0
- package/dist/browser/client/sendRequest.d.ts +30 -0
- package/dist/browser/client/sendRequest.d.ts.map +1 -0
- package/dist/browser/client/sendRequest.js +195 -0
- package/dist/browser/client/sendRequest.js.map +1 -0
- package/dist/browser/client/urlHelpers.d.ts +20 -0
- package/dist/browser/client/urlHelpers.d.ts.map +1 -0
- package/dist/browser/client/urlHelpers.js +99 -0
- package/dist/browser/client/urlHelpers.js.map +1 -0
- package/dist/browser/constants.d.ts +3 -0
- package/dist/browser/constants.d.ts.map +1 -0
- package/dist/browser/createPipelineFromOptions.d.ts +59 -0
- package/dist/browser/createPipelineFromOptions.d.ts.map +1 -0
- package/dist/browser/createPipelineFromOptions.js +44 -0
- package/dist/browser/createPipelineFromOptions.js.map +1 -0
- package/dist/browser/defaultHttpClient-browser.d.mts.map +1 -0
- package/dist/browser/defaultHttpClient-browser.mjs.map +1 -0
- package/dist/browser/defaultHttpClient.d.ts +6 -0
- package/dist/browser/defaultHttpClient.js +10 -0
- package/dist/browser/fetchHttpClient.d.ts +7 -0
- package/dist/browser/fetchHttpClient.d.ts.map +1 -0
- package/dist/browser/fetchHttpClient.js +262 -0
- package/dist/browser/fetchHttpClient.js.map +1 -0
- package/dist/browser/httpHeaders.d.ts +7 -0
- package/dist/browser/httpHeaders.d.ts.map +1 -0
- package/dist/browser/httpHeaders.js +89 -0
- package/dist/browser/httpHeaders.js.map +1 -0
- package/dist/browser/index.d.ts +56 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +43 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/interfaces.d.ts +447 -0
- package/dist/browser/interfaces.d.ts.map +1 -0
- package/dist/browser/interfaces.js.map +1 -0
- package/dist/browser/log.d.ts +2 -0
- package/dist/browser/log.d.ts.map +1 -0
- package/dist/browser/log.js +5 -0
- package/dist/browser/log.js.map +1 -0
- package/dist/browser/logger/debug.d.ts +63 -0
- package/dist/browser/logger/debug.d.ts.map +1 -0
- package/dist/browser/logger/debug.js +93 -0
- package/dist/browser/logger/debug.js.map +1 -0
- package/dist/browser/logger/log-browser.d.mts.map +1 -0
- package/dist/browser/logger/log-browser.mjs.map +1 -0
- package/dist/browser/logger/log.d.ts +2 -0
- package/dist/browser/logger/log.js +23 -0
- package/dist/browser/logger/logger.d.ts +68 -0
- package/dist/browser/logger/logger.d.ts.map +1 -0
- package/dist/browser/logger/logger.js +99 -0
- package/dist/browser/logger/logger.js.map +1 -0
- package/dist/browser/nodeHttpClient.d.ts +9 -0
- package/dist/browser/nodeHttpClient.d.ts.map +1 -0
- package/dist/browser/nodeHttpClient.js +330 -0
- package/dist/browser/nodeHttpClient.js.map +1 -0
- package/dist/browser/package.json +3 -0
- package/dist/browser/pipeline.d.ts +93 -0
- package/dist/browser/pipeline.d.ts.map +1 -0
- package/dist/browser/pipeline.js +262 -0
- package/dist/browser/pipeline.js.map +1 -0
- package/dist/browser/pipelineRequest.d.ts +93 -0
- package/dist/browser/pipelineRequest.d.ts.map +1 -0
- package/dist/browser/pipelineRequest.js +53 -0
- package/dist/browser/pipelineRequest.js.map +1 -0
- package/dist/browser/policies/bearerTokenAuthenticationPolicy.d.ts +99 -0
- package/dist/browser/policies/bearerTokenAuthenticationPolicy.d.ts.map +1 -0
- package/dist/browser/policies/bearerTokenAuthenticationPolicy.js +112 -0
- package/dist/browser/policies/bearerTokenAuthenticationPolicy.js.map +1 -0
- package/dist/browser/policies/decompressResponsePolicy-browser.d.mts.map +1 -0
- package/dist/browser/policies/decompressResponsePolicy-browser.mjs.map +1 -0
- package/dist/browser/policies/decompressResponsePolicy.d.ts +7 -0
- package/dist/browser/policies/decompressResponsePolicy.js +14 -0
- package/dist/browser/policies/defaultRetryPolicy.d.ts +19 -0
- package/dist/browser/policies/defaultRetryPolicy.d.ts.map +1 -0
- package/dist/browser/policies/defaultRetryPolicy.js +25 -0
- package/dist/browser/policies/defaultRetryPolicy.js.map +1 -0
- package/dist/browser/policies/exponentialRetryPolicy.d.ts +31 -0
- package/dist/browser/policies/exponentialRetryPolicy.d.ts.map +1 -0
- package/dist/browser/policies/exponentialRetryPolicy.js +24 -0
- package/dist/browser/policies/exponentialRetryPolicy.js.map +1 -0
- package/dist/browser/policies/formDataPolicy.d.ts +10 -0
- package/dist/browser/policies/formDataPolicy.d.ts.map +1 -0
- package/dist/browser/policies/formDataPolicy.js +81 -0
- package/dist/browser/policies/formDataPolicy.js.map +1 -0
- package/dist/browser/policies/logPolicy.d.ts +35 -0
- package/dist/browser/policies/logPolicy.d.ts.map +1 -0
- package/dist/browser/policies/logPolicy.js +33 -0
- package/dist/browser/policies/logPolicy.js.map +1 -0
- package/dist/browser/policies/multipartPolicy.d.ts +10 -0
- package/dist/browser/policies/multipartPolicy.d.ts.map +1 -0
- package/dist/browser/policies/multipartPolicy.js +111 -0
- package/dist/browser/policies/multipartPolicy.js.map +1 -0
- package/dist/browser/policies/proxyPolicy-browser.d.mts.map +1 -0
- package/dist/browser/policies/proxyPolicy-browser.mjs.map +1 -0
- package/dist/browser/policies/proxyPolicy.d.ts +15 -0
- package/dist/browser/policies/proxyPolicy.js +27 -0
- package/dist/browser/policies/redirectPolicy.d.ts +23 -0
- package/dist/browser/policies/redirectPolicy.d.ts.map +1 -0
- package/dist/browser/policies/redirectPolicy.js.map +1 -0
- package/dist/browser/policies/retryPolicy.d.ts +21 -0
- package/dist/browser/policies/retryPolicy.d.ts.map +1 -0
- package/dist/browser/policies/retryPolicy.js +105 -0
- package/dist/browser/policies/retryPolicy.js.map +1 -0
- package/dist/browser/policies/systemErrorRetryPolicy.d.ts +33 -0
- package/dist/browser/policies/systemErrorRetryPolicy.d.ts.map +1 -0
- package/dist/browser/policies/systemErrorRetryPolicy.js +29 -0
- package/dist/browser/policies/systemErrorRetryPolicy.js.map +1 -0
- package/dist/browser/policies/throttlingRetryPolicy.d.ts +26 -0
- package/dist/browser/policies/throttlingRetryPolicy.d.ts.map +1 -0
- package/dist/browser/policies/throttlingRetryPolicy.js +28 -0
- package/dist/browser/policies/throttlingRetryPolicy.js.map +1 -0
- package/dist/browser/policies/tlsPolicy.d.ts +11 -0
- package/dist/browser/policies/tlsPolicy.d.ts.map +1 -0
- package/dist/browser/policies/tlsPolicy.js.map +1 -0
- package/dist/browser/policies/tracingPolicy.d.ts +24 -0
- package/dist/browser/policies/tracingPolicy.d.ts.map +1 -0
- package/dist/browser/policies/tracingPolicy.js +119 -0
- package/dist/browser/policies/tracingPolicy.js.map +1 -0
- package/dist/browser/policies/userAgentPolicy.d.ts +22 -0
- package/dist/browser/policies/userAgentPolicy.d.ts.map +1 -0
- package/dist/browser/policies/userAgentPolicy.js +26 -0
- package/dist/browser/policies/userAgentPolicy.js.map +1 -0
- package/dist/browser/restError.d.ts +65 -0
- package/dist/browser/restError.d.ts.map +1 -0
- package/dist/browser/restError.js +68 -0
- package/dist/browser/restError.js.map +1 -0
- package/dist/browser/retryStrategies/exponentialRetryStrategy.d.ts +40 -0
- package/dist/browser/retryStrategies/exponentialRetryStrategy.d.ts.map +1 -0
- package/dist/browser/retryStrategies/exponentialRetryStrategy.js +69 -0
- package/dist/browser/retryStrategies/exponentialRetryStrategy.js.map +1 -0
- package/dist/browser/retryStrategies/retryStrategy.d.ts +61 -0
- package/dist/browser/retryStrategies/retryStrategy.d.ts.map +1 -0
- package/dist/browser/retryStrategies/retryStrategy.js.map +1 -0
- package/dist/browser/retryStrategies/throttlingRetryStrategy.d.ts +9 -0
- package/dist/browser/retryStrategies/throttlingRetryStrategy.d.ts.map +1 -0
- package/dist/browser/retryStrategies/throttlingRetryStrategy.js +74 -0
- package/dist/browser/retryStrategies/throttlingRetryStrategy.js.map +1 -0
- package/dist/browser/tracing/instrumenter.d.ts +16 -0
- package/dist/browser/tracing/instrumenter.d.ts.map +1 -0
- package/dist/browser/tracing/instrumenter.js +61 -0
- package/dist/browser/tracing/instrumenter.js.map +1 -0
- package/dist/browser/tracing/interfaces.d.ts +254 -0
- package/dist/browser/tracing/interfaces.d.ts.map +1 -0
- package/dist/browser/tracing/tracingClient.d.ts +9 -0
- package/dist/browser/tracing/tracingClient.d.ts.map +1 -0
- package/dist/browser/tracing/tracingClient.js +78 -0
- package/dist/browser/tracing/tracingClient.js.map +1 -0
- package/dist/browser/tracing/tracingContext.d.ts +34 -0
- package/dist/browser/tracing/tracingContext.d.ts.map +1 -0
- package/dist/browser/tracing/tracingContext.js +48 -0
- package/dist/browser/tracing/tracingContext.js.map +1 -0
- package/dist/browser/util/aborterUtils.d.ts +27 -0
- package/dist/browser/util/aborterUtils.d.ts.map +1 -0
- package/dist/browser/util/aborterUtils.js +20 -0
- package/dist/browser/util/aborterUtils.js.map +1 -0
- package/dist/browser/util/bytesEncoding-browser.d.mts.map +1 -0
- package/dist/browser/util/bytesEncoding-browser.mjs.map +1 -0
- package/dist/browser/util/bytesEncoding.d.ts +61 -0
- package/dist/browser/util/bytesEncoding.js +110 -0
- package/dist/browser/util/checkEnvironment.d.ts +37 -0
- package/dist/browser/util/checkEnvironment.d.ts.map +1 -0
- package/dist/browser/util/checkEnvironment.js +40 -0
- package/dist/browser/util/checkEnvironment.js.map +1 -0
- package/dist/browser/util/createAbortablePromise.d.ts +16 -0
- package/dist/browser/util/createAbortablePromise.d.ts.map +1 -0
- package/dist/browser/util/createAbortablePromise.js +42 -0
- package/dist/browser/util/createAbortablePromise.js.map +1 -0
- package/dist/browser/util/delay.d.ts +14 -0
- package/dist/browser/util/delay.d.ts.map +1 -0
- package/dist/browser/util/delay.js +22 -0
- package/dist/browser/util/delay.js.map +1 -0
- package/dist/browser/util/error.d.ts +13 -0
- package/dist/browser/util/error.d.ts.map +1 -0
- package/dist/browser/util/error.js +42 -0
- package/dist/browser/util/error.js.map +1 -0
- package/dist/browser/util/file.d.ts +62 -0
- package/dist/browser/util/file.d.ts.map +1 -0
- package/dist/browser/util/file.js +66 -0
- package/dist/browser/util/file.js.map +1 -0
- package/dist/browser/util/helpers.d.ts +21 -0
- package/dist/browser/util/helpers.d.ts.map +1 -0
- package/dist/browser/util/helpers.js +58 -0
- package/dist/browser/util/helpers.js.map +1 -0
- package/dist/browser/util/inspect-browser.d.mts.map +1 -0
- package/dist/browser/util/inspect-browser.mjs.map +1 -0
- package/dist/browser/util/inspect.d.ts +2 -0
- package/dist/browser/util/inspect.js +4 -0
- package/dist/browser/util/object.d.ts +12 -0
- package/dist/browser/util/object.d.ts.map +1 -0
- package/dist/browser/util/random.d.ts +10 -0
- package/dist/browser/util/random.d.ts.map +1 -0
- package/dist/browser/util/sanitizer.d.ts +30 -0
- package/dist/browser/util/sanitizer.d.ts.map +1 -0
- package/dist/browser/util/sanitizer.js +145 -0
- package/dist/browser/util/sanitizer.js.map +1 -0
- package/dist/browser/util/sha256-browser.d.mts.map +1 -0
- package/dist/browser/util/sha256-browser.mjs.map +1 -0
- package/dist/browser/util/sha256.d.ts +14 -0
- package/dist/browser/util/sha256.js +49 -0
- package/dist/browser/util/stream-browser.d.mts.map +1 -0
- package/dist/browser/util/stream-browser.mjs.map +1 -0
- package/dist/browser/util/stream.d.ts +5 -0
- package/dist/browser/util/stream.js +62 -0
- package/dist/browser/util/tokenCycler.d.ts +45 -0
- package/dist/browser/util/tokenCycler.d.ts.map +1 -0
- package/dist/browser/util/tokenCycler.js +150 -0
- package/dist/browser/util/tokenCycler.js.map +1 -0
- package/dist/browser/util/typeGuards.d.ts +23 -0
- package/dist/browser/util/typeGuards.d.ts.map +1 -0
- package/dist/browser/util/userAgent.d.ts +9 -0
- package/dist/browser/util/userAgent.d.ts.map +1 -0
- package/dist/browser/util/userAgent.js +30 -0
- package/dist/browser/util/userAgent.js.map +1 -0
- package/dist/browser/util/userAgentPlatform-browser.d.mts.map +1 -0
- package/dist/browser/util/userAgentPlatform-browser.mjs.map +1 -0
- package/dist/browser/util/userAgentPlatform.d.ts +9 -0
- package/dist/browser/util/userAgentPlatform.js +19 -0
- package/dist/browser/util/uuidUtils-browser.d.mts.map +1 -0
- package/dist/browser/util/uuidUtils-browser.mjs.map +1 -0
- package/dist/browser/util/uuidUtils.common.d.ts +13 -0
- package/dist/browser/util/uuidUtils.common.d.ts.map +1 -0
- package/dist/browser/util/uuidUtils.common.js +43 -0
- package/dist/browser/util/uuidUtils.common.js.map +1 -0
- package/dist/browser/util/uuidUtils.d.ts +7 -0
- package/dist/browser/util/uuidUtils.js +16 -0
- package/dist/browser/xhrHttpClient.d.ts +7 -0
- package/dist/browser/xhrHttpClient.d.ts.map +1 -0
- package/dist/browser/xhrHttpClient.js +165 -0
- package/dist/browser/xhrHttpClient.js.map +1 -0
- package/dist/commonjs/abort-controller/AbortError.d.ts +22 -0
- package/dist/commonjs/abort-controller/AbortError.d.ts.map +1 -0
- package/dist/commonjs/abort-controller/AbortError.js +31 -0
- package/dist/commonjs/abort-controller/AbortError.js.map +1 -0
- package/dist/commonjs/abort-controller/AbortSignalLike.d.ts +19 -0
- package/dist/commonjs/abort-controller/AbortSignalLike.d.ts.map +1 -0
- package/dist/commonjs/abort-controller/AbortSignalLike.js +5 -0
- package/dist/commonjs/abort-controller/AbortSignalLike.js.map +1 -0
- package/dist/commonjs/accessTokenCache.d.ts +40 -0
- package/dist/commonjs/accessTokenCache.d.ts.map +1 -0
- package/dist/commonjs/accessTokenCache.js +38 -0
- package/dist/commonjs/accessTokenCache.js.map +1 -0
- package/dist/commonjs/auth/keyCredential.d.ts +10 -0
- package/dist/commonjs/auth/keyCredential.d.ts.map +1 -0
- package/dist/commonjs/auth/keyCredential.js +5 -0
- package/dist/commonjs/auth/keyCredential.js.map +1 -0
- package/dist/commonjs/auth/tokenCredential.d.ts +77 -0
- package/dist/commonjs/auth/tokenCredential.d.ts.map +1 -0
- package/dist/commonjs/auth/tokenCredential.js +23 -0
- package/dist/commonjs/auth/tokenCredential.js.map +1 -0
- package/dist/commonjs/client/apiVersionPolicy.d.ts +10 -0
- package/dist/commonjs/client/apiVersionPolicy.d.ts.map +1 -0
- package/dist/commonjs/client/apiVersionPolicy.js +27 -0
- package/dist/commonjs/client/apiVersionPolicy.js.map +1 -0
- package/dist/commonjs/client/clientHelpers.d.ts +28 -0
- package/dist/commonjs/client/clientHelpers.d.ts.map +1 -0
- package/dist/commonjs/client/clientHelpers.js +57 -0
- package/dist/commonjs/client/clientHelpers.js.map +1 -0
- package/dist/commonjs/client/common.d.ts +358 -0
- package/dist/commonjs/client/common.d.ts.map +1 -0
- package/dist/commonjs/client/common.js +5 -0
- package/dist/commonjs/client/common.js.map +1 -0
- package/dist/commonjs/client/getClient.d.ts +17 -0
- package/dist/commonjs/client/getClient.d.ts.map +1 -0
- package/dist/commonjs/client/getClient.js +88 -0
- package/dist/commonjs/client/getClient.js.map +1 -0
- package/dist/commonjs/client/helpers/getBinaryBody.d.ts +5 -0
- package/dist/commonjs/client/helpers/getBinaryBody.d.ts.map +1 -0
- package/dist/commonjs/client/helpers/getBinaryBody.js +17 -0
- package/dist/commonjs/client/helpers/getBinaryBody.js.map +1 -0
- package/dist/commonjs/client/keyCredentialAuthenticationPolicy.d.ts +8 -0
- package/dist/commonjs/client/keyCredentialAuthenticationPolicy.d.ts.map +1 -0
- package/dist/commonjs/client/keyCredentialAuthenticationPolicy.js +20 -0
- package/dist/commonjs/client/keyCredentialAuthenticationPolicy.js.map +1 -0
- package/dist/commonjs/client/operationOptionHelpers.d.ts +8 -0
- package/dist/commonjs/client/operationOptionHelpers.d.ts.map +1 -0
- package/dist/commonjs/client/operationOptionHelpers.js +25 -0
- package/dist/commonjs/client/operationOptionHelpers.js.map +1 -0
- package/dist/commonjs/client/restError.d.ts +11 -0
- package/dist/commonjs/client/restError.d.ts.map +1 -0
- package/dist/commonjs/client/restError.js +33 -0
- package/dist/commonjs/client/restError.js.map +1 -0
- package/dist/commonjs/client/sendRequest.d.ts +30 -0
- package/dist/commonjs/client/sendRequest.d.ts.map +1 -0
- package/dist/commonjs/client/sendRequest.js +200 -0
- package/dist/commonjs/client/sendRequest.js.map +1 -0
- package/dist/commonjs/client/urlHelpers.d.ts +20 -0
- package/dist/commonjs/client/urlHelpers.d.ts.map +1 -0
- package/dist/commonjs/client/urlHelpers.js +105 -0
- package/dist/commonjs/client/urlHelpers.js.map +1 -0
- package/dist/commonjs/constants.d.ts +3 -0
- package/dist/commonjs/constants.d.ts.map +1 -0
- package/dist/commonjs/constants.js +8 -0
- package/dist/commonjs/constants.js.map +1 -0
- package/dist/commonjs/createPipelineFromOptions.d.ts +59 -0
- package/dist/commonjs/createPipelineFromOptions.d.ts.map +1 -0
- package/dist/commonjs/createPipelineFromOptions.js +48 -0
- package/dist/commonjs/createPipelineFromOptions.js.map +1 -0
- package/dist/commonjs/defaultHttpClient.d.ts +6 -0
- package/dist/commonjs/defaultHttpClient.d.ts.map +1 -0
- package/dist/commonjs/defaultHttpClient.js +14 -0
- package/dist/commonjs/defaultHttpClient.js.map +1 -0
- package/dist/commonjs/fetchHttpClient.d.ts +7 -0
- package/dist/commonjs/fetchHttpClient.d.ts.map +1 -0
- package/dist/commonjs/fetchHttpClient.js +266 -0
- package/dist/commonjs/fetchHttpClient.js.map +1 -0
- package/dist/commonjs/httpHeaders.d.ts +7 -0
- package/dist/commonjs/httpHeaders.d.ts.map +1 -0
- package/dist/commonjs/httpHeaders.js +93 -0
- package/dist/commonjs/httpHeaders.js.map +1 -0
- package/dist/commonjs/index.d.ts +56 -0
- package/dist/commonjs/index.d.ts.map +1 -0
- package/dist/commonjs/index.js +107 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/interfaces.d.ts +447 -0
- package/dist/commonjs/interfaces.d.ts.map +1 -0
- package/dist/commonjs/interfaces.js +5 -0
- package/dist/commonjs/interfaces.js.map +1 -0
- package/dist/commonjs/log.d.ts +2 -0
- package/dist/commonjs/log.d.ts.map +1 -0
- package/dist/commonjs/log.js +8 -0
- package/dist/commonjs/log.js.map +1 -0
- package/dist/commonjs/logger/debug.d.ts +63 -0
- package/dist/commonjs/logger/debug.d.ts.map +1 -0
- package/dist/commonjs/logger/debug.js +95 -0
- package/dist/commonjs/logger/debug.js.map +1 -0
- package/dist/commonjs/logger/log.d.ts +2 -0
- package/dist/commonjs/logger/log.d.ts.map +1 -0
- package/dist/commonjs/logger/log.js +14 -0
- package/dist/commonjs/logger/log.js.map +1 -0
- package/dist/commonjs/logger/logger.d.ts +68 -0
- package/dist/commonjs/logger/logger.d.ts.map +1 -0
- package/dist/commonjs/logger/logger.js +106 -0
- package/dist/commonjs/logger/logger.js.map +1 -0
- package/dist/commonjs/nodeHttpClient.d.ts +9 -0
- package/dist/commonjs/nodeHttpClient.d.ts.map +1 -0
- package/dist/commonjs/nodeHttpClient.js +336 -0
- package/dist/commonjs/nodeHttpClient.js.map +1 -0
- package/dist/commonjs/package.json +3 -0
- package/dist/commonjs/pipeline.d.ts +93 -0
- package/dist/commonjs/pipeline.d.ts.map +1 -0
- package/dist/commonjs/pipeline.js +266 -0
- package/dist/commonjs/pipeline.js.map +1 -0
- package/dist/commonjs/pipelineRequest.d.ts +93 -0
- package/dist/commonjs/pipelineRequest.d.ts.map +1 -0
- package/dist/commonjs/pipelineRequest.js +57 -0
- package/dist/commonjs/pipelineRequest.js.map +1 -0
- package/dist/commonjs/policies/bearerTokenAuthenticationPolicy.d.ts +99 -0
- package/dist/commonjs/policies/bearerTokenAuthenticationPolicy.d.ts.map +1 -0
- package/dist/commonjs/policies/bearerTokenAuthenticationPolicy.js +116 -0
- package/dist/commonjs/policies/bearerTokenAuthenticationPolicy.js.map +1 -0
- package/dist/commonjs/policies/decompressResponsePolicy.d.ts +11 -0
- package/dist/commonjs/policies/decompressResponsePolicy.d.ts.map +1 -0
- package/dist/commonjs/policies/decompressResponsePolicy.js +27 -0
- package/dist/commonjs/policies/decompressResponsePolicy.js.map +1 -0
- package/dist/commonjs/policies/defaultRetryPolicy.d.ts +19 -0
- package/dist/commonjs/policies/defaultRetryPolicy.d.ts.map +1 -0
- package/dist/commonjs/policies/defaultRetryPolicy.js +29 -0
- package/dist/commonjs/policies/defaultRetryPolicy.js.map +1 -0
- package/dist/commonjs/policies/exponentialRetryPolicy.d.ts +31 -0
- package/dist/commonjs/policies/exponentialRetryPolicy.d.ts.map +1 -0
- package/dist/commonjs/policies/exponentialRetryPolicy.js +28 -0
- package/dist/commonjs/policies/exponentialRetryPolicy.js.map +1 -0
- package/dist/commonjs/policies/formDataPolicy.d.ts +10 -0
- package/dist/commonjs/policies/formDataPolicy.d.ts.map +1 -0
- package/dist/commonjs/policies/formDataPolicy.js +85 -0
- package/dist/commonjs/policies/formDataPolicy.js.map +1 -0
- package/dist/commonjs/policies/logPolicy.d.ts +35 -0
- package/dist/commonjs/policies/logPolicy.d.ts.map +1 -0
- package/dist/commonjs/policies/logPolicy.js +37 -0
- package/dist/commonjs/policies/logPolicy.js.map +1 -0
- package/dist/commonjs/policies/multipartPolicy.d.ts +10 -0
- package/dist/commonjs/policies/multipartPolicy.d.ts.map +1 -0
- package/dist/commonjs/policies/multipartPolicy.js +115 -0
- package/dist/commonjs/policies/multipartPolicy.js.map +1 -0
- package/dist/commonjs/policies/proxyPolicy.d.ts +31 -0
- package/dist/commonjs/policies/proxyPolicy.d.ts.map +1 -0
- package/dist/commonjs/policies/proxyPolicy.js +176 -0
- package/dist/commonjs/policies/proxyPolicy.js.map +1 -0
- package/dist/commonjs/policies/redirectPolicy.d.ts +23 -0
- package/dist/commonjs/policies/redirectPolicy.d.ts.map +1 -0
- package/dist/commonjs/policies/redirectPolicy.js +56 -0
- package/dist/commonjs/policies/redirectPolicy.js.map +1 -0
- package/dist/commonjs/policies/retryPolicy.d.ts +21 -0
- package/dist/commonjs/policies/retryPolicy.d.ts.map +1 -0
- package/dist/commonjs/policies/retryPolicy.js +109 -0
- package/dist/commonjs/policies/retryPolicy.js.map +1 -0
- package/dist/commonjs/policies/systemErrorRetryPolicy.d.ts +33 -0
- package/dist/commonjs/policies/systemErrorRetryPolicy.d.ts.map +1 -0
- package/dist/commonjs/policies/systemErrorRetryPolicy.js +33 -0
- package/dist/commonjs/policies/systemErrorRetryPolicy.js.map +1 -0
- package/dist/commonjs/policies/throttlingRetryPolicy.d.ts +26 -0
- package/dist/commonjs/policies/throttlingRetryPolicy.d.ts.map +1 -0
- package/dist/commonjs/policies/throttlingRetryPolicy.js +32 -0
- package/dist/commonjs/policies/throttlingRetryPolicy.js.map +1 -0
- package/dist/commonjs/policies/tlsPolicy.d.ts +11 -0
- package/dist/commonjs/policies/tlsPolicy.d.ts.map +1 -0
- package/dist/commonjs/policies/tlsPolicy.js +26 -0
- package/dist/commonjs/policies/tlsPolicy.js.map +1 -0
- package/dist/commonjs/policies/tracingPolicy.d.ts +24 -0
- package/dist/commonjs/policies/tracingPolicy.d.ts.map +1 -0
- package/dist/commonjs/policies/tracingPolicy.js +123 -0
- package/dist/commonjs/policies/tracingPolicy.js.map +1 -0
- package/dist/commonjs/policies/userAgentPolicy.d.ts +22 -0
- package/dist/commonjs/policies/userAgentPolicy.d.ts.map +1 -0
- package/dist/commonjs/policies/userAgentPolicy.js +30 -0
- package/dist/commonjs/policies/userAgentPolicy.js.map +1 -0
- package/dist/commonjs/restError.d.ts +65 -0
- package/dist/commonjs/restError.d.ts.map +1 -0
- package/dist/commonjs/restError.js +73 -0
- package/dist/commonjs/restError.js.map +1 -0
- package/dist/commonjs/retryStrategies/exponentialRetryStrategy.d.ts +40 -0
- package/dist/commonjs/retryStrategies/exponentialRetryStrategy.d.ts.map +1 -0
- package/dist/commonjs/retryStrategies/exponentialRetryStrategy.js +75 -0
- package/dist/commonjs/retryStrategies/exponentialRetryStrategy.js.map +1 -0
- package/dist/commonjs/retryStrategies/retryStrategy.d.ts +61 -0
- package/dist/commonjs/retryStrategies/retryStrategy.d.ts.map +1 -0
- package/dist/commonjs/retryStrategies/retryStrategy.js +5 -0
- package/dist/commonjs/retryStrategies/retryStrategy.js.map +1 -0
- package/dist/commonjs/retryStrategies/throttlingRetryStrategy.d.ts +9 -0
- package/dist/commonjs/retryStrategies/throttlingRetryStrategy.d.ts.map +1 -0
- package/dist/commonjs/retryStrategies/throttlingRetryStrategy.js +79 -0
- package/dist/commonjs/retryStrategies/throttlingRetryStrategy.js.map +1 -0
- package/dist/commonjs/tracing/instrumenter.d.ts +16 -0
- package/dist/commonjs/tracing/instrumenter.d.ts.map +1 -0
- package/dist/commonjs/tracing/instrumenter.js +68 -0
- package/dist/commonjs/tracing/instrumenter.js.map +1 -0
- package/dist/commonjs/tracing/interfaces.d.ts +254 -0
- package/dist/commonjs/tracing/interfaces.d.ts.map +1 -0
- package/dist/commonjs/tracing/interfaces.js +5 -0
- package/dist/commonjs/tracing/interfaces.js.map +1 -0
- package/dist/commonjs/tracing/tracingClient.d.ts +9 -0
- package/dist/commonjs/tracing/tracingClient.d.ts.map +1 -0
- package/dist/commonjs/tracing/tracingClient.js +82 -0
- package/dist/commonjs/tracing/tracingClient.js.map +1 -0
- package/dist/commonjs/tracing/tracingContext.d.ts +34 -0
- package/dist/commonjs/tracing/tracingContext.d.ts.map +1 -0
- package/dist/commonjs/tracing/tracingContext.js +53 -0
- package/dist/commonjs/tracing/tracingContext.js.map +1 -0
- package/dist/commonjs/tsdoc-metadata.json +11 -0
- package/dist/commonjs/util/aborterUtils.d.ts +27 -0
- package/dist/commonjs/util/aborterUtils.d.ts.map +1 -0
- package/dist/commonjs/util/aborterUtils.js +24 -0
- package/dist/commonjs/util/aborterUtils.js.map +1 -0
- package/dist/commonjs/util/bytesEncoding.d.ts +17 -0
- package/dist/commonjs/util/bytesEncoding.d.ts.map +1 -0
- package/dist/commonjs/util/bytesEncoding.js +26 -0
- package/dist/commonjs/util/bytesEncoding.js.map +1 -0
- package/dist/commonjs/util/checkEnvironment.d.ts +37 -0
- package/dist/commonjs/util/checkEnvironment.d.ts.map +1 -0
- package/dist/commonjs/util/checkEnvironment.js +43 -0
- package/dist/commonjs/util/checkEnvironment.js.map +1 -0
- package/dist/commonjs/util/createAbortablePromise.d.ts +16 -0
- package/dist/commonjs/util/createAbortablePromise.d.ts.map +1 -0
- package/dist/commonjs/util/createAbortablePromise.js +46 -0
- package/dist/commonjs/util/createAbortablePromise.js.map +1 -0
- package/dist/commonjs/util/delay.d.ts +14 -0
- package/dist/commonjs/util/delay.d.ts.map +1 -0
- package/dist/commonjs/util/delay.js +26 -0
- package/dist/commonjs/util/delay.js.map +1 -0
- package/dist/commonjs/util/error.d.ts +13 -0
- package/dist/commonjs/util/error.d.ts.map +1 -0
- package/dist/commonjs/util/error.js +47 -0
- package/dist/commonjs/util/error.js.map +1 -0
- package/dist/commonjs/util/file.d.ts +62 -0
- package/dist/commonjs/util/file.d.ts.map +1 -0
- package/dist/commonjs/util/file.js +71 -0
- package/dist/commonjs/util/file.js.map +1 -0
- package/dist/commonjs/util/helpers.d.ts +21 -0
- package/dist/commonjs/util/helpers.d.ts.map +1 -0
- package/dist/commonjs/util/helpers.js +63 -0
- package/dist/commonjs/util/helpers.js.map +1 -0
- package/dist/commonjs/util/inspect.d.ts +2 -0
- package/dist/commonjs/util/inspect.d.ts.map +1 -0
- package/dist/commonjs/util/inspect.js +8 -0
- package/dist/commonjs/util/inspect.js.map +1 -0
- package/dist/commonjs/util/object.d.ts +12 -0
- package/dist/commonjs/util/object.d.ts.map +1 -0
- package/dist/commonjs/util/object.js +18 -0
- package/dist/commonjs/util/object.js.map +1 -0
- package/dist/commonjs/util/random.d.ts +10 -0
- package/dist/commonjs/util/random.d.ts.map +1 -0
- package/dist/commonjs/util/random.js +25 -0
- package/dist/commonjs/util/random.js.map +1 -0
- package/dist/commonjs/util/sanitizer.d.ts +30 -0
- package/dist/commonjs/util/sanitizer.d.ts.map +1 -0
- package/dist/commonjs/util/sanitizer.js +149 -0
- package/dist/commonjs/util/sanitizer.js.map +1 -0
- package/dist/commonjs/util/sha256.d.ts +14 -0
- package/dist/commonjs/util/sha256.d.ts.map +1 -0
- package/dist/commonjs/util/sha256.js +27 -0
- package/dist/commonjs/util/sha256.js.map +1 -0
- package/dist/commonjs/util/stream.d.ts +5 -0
- package/dist/commonjs/util/stream.d.ts.map +1 -0
- package/dist/commonjs/util/stream.js +69 -0
- package/dist/commonjs/util/stream.js.map +1 -0
- package/dist/commonjs/util/tokenCycler.d.ts +45 -0
- package/dist/commonjs/util/tokenCycler.d.ts.map +1 -0
- package/dist/commonjs/util/tokenCycler.js +154 -0
- package/dist/commonjs/util/tokenCycler.js.map +1 -0
- package/dist/commonjs/util/typeGuards.d.ts +23 -0
- package/dist/commonjs/util/typeGuards.d.ts.map +1 -0
- package/dist/commonjs/util/typeGuards.js +58 -0
- package/dist/commonjs/util/typeGuards.js.map +1 -0
- package/dist/commonjs/util/userAgent.d.ts +9 -0
- package/dist/commonjs/util/userAgent.d.ts.map +1 -0
- package/dist/commonjs/util/userAgent.js +35 -0
- package/dist/commonjs/util/userAgent.js.map +1 -0
- package/dist/commonjs/util/userAgentPlatform.d.ts +9 -0
- package/dist/commonjs/util/userAgentPlatform.d.ts.map +1 -0
- package/dist/commonjs/util/userAgentPlatform.js +33 -0
- package/dist/commonjs/util/userAgentPlatform.js.map +1 -0
- package/dist/commonjs/util/uuidUtils.common.d.ts +13 -0
- package/dist/commonjs/util/uuidUtils.common.d.ts.map +1 -0
- package/dist/commonjs/util/uuidUtils.common.js +48 -0
- package/dist/commonjs/util/uuidUtils.common.js.map +1 -0
- package/dist/commonjs/util/uuidUtils.d.ts +7 -0
- package/dist/commonjs/util/uuidUtils.d.ts.map +1 -0
- package/dist/commonjs/util/uuidUtils.js +25 -0
- package/dist/commonjs/util/uuidUtils.js.map +1 -0
- package/dist/commonjs/xhrHttpClient.d.ts +7 -0
- package/dist/commonjs/xhrHttpClient.d.ts.map +1 -0
- package/dist/commonjs/xhrHttpClient.js +169 -0
- package/dist/commonjs/xhrHttpClient.js.map +1 -0
- package/dist/esm/abort-controller/AbortError.d.ts +22 -0
- package/dist/esm/abort-controller/AbortError.d.ts.map +1 -0
- package/dist/esm/abort-controller/AbortError.js +27 -0
- package/dist/esm/abort-controller/AbortError.js.map +1 -0
- package/dist/esm/abort-controller/AbortSignalLike.d.ts +19 -0
- package/dist/esm/abort-controller/AbortSignalLike.d.ts.map +1 -0
- package/dist/esm/abort-controller/AbortSignalLike.js +4 -0
- package/dist/esm/abort-controller/AbortSignalLike.js.map +1 -0
- package/dist/esm/accessTokenCache.d.ts +40 -0
- package/dist/esm/accessTokenCache.d.ts.map +1 -0
- package/dist/esm/accessTokenCache.js +34 -0
- package/dist/esm/accessTokenCache.js.map +1 -0
- package/dist/esm/auth/keyCredential.d.ts +10 -0
- package/dist/esm/auth/keyCredential.d.ts.map +1 -0
- package/dist/esm/auth/keyCredential.js +4 -0
- package/dist/esm/auth/keyCredential.js.map +1 -0
- package/dist/esm/auth/tokenCredential.d.ts +77 -0
- package/dist/esm/auth/tokenCredential.d.ts.map +1 -0
- package/dist/esm/auth/tokenCredential.js +19 -0
- package/dist/esm/auth/tokenCredential.js.map +1 -0
- package/dist/esm/client/apiVersionPolicy.d.ts +10 -0
- package/dist/esm/client/apiVersionPolicy.d.ts.map +1 -0
- package/dist/esm/client/apiVersionPolicy.js +23 -0
- package/dist/esm/client/apiVersionPolicy.js.map +1 -0
- package/dist/esm/client/clientHelpers.d.ts +28 -0
- package/dist/esm/client/clientHelpers.d.ts.map +1 -0
- package/dist/esm/client/clientHelpers.js +51 -0
- package/dist/esm/client/clientHelpers.js.map +1 -0
- package/dist/esm/client/common.d.ts +358 -0
- package/dist/esm/client/common.d.ts.map +1 -0
- package/dist/esm/client/common.js +4 -0
- package/dist/esm/client/common.js.map +1 -0
- package/dist/esm/client/getClient.d.ts +17 -0
- package/dist/esm/client/getClient.d.ts.map +1 -0
- package/dist/esm/client/getClient.js +84 -0
- package/dist/esm/client/getClient.js.map +1 -0
- package/dist/esm/client/helpers/getBinaryBody.d.ts +5 -0
- package/dist/esm/client/helpers/getBinaryBody.d.ts.map +1 -0
- package/dist/esm/client/helpers/getBinaryBody.js +13 -0
- package/dist/esm/client/helpers/getBinaryBody.js.map +1 -0
- package/dist/esm/client/keyCredentialAuthenticationPolicy.d.ts +8 -0
- package/dist/esm/client/keyCredentialAuthenticationPolicy.d.ts.map +1 -0
- package/dist/esm/client/keyCredentialAuthenticationPolicy.js +16 -0
- package/dist/esm/client/keyCredentialAuthenticationPolicy.js.map +1 -0
- package/dist/esm/client/operationOptionHelpers.d.ts +8 -0
- package/dist/esm/client/operationOptionHelpers.d.ts.map +1 -0
- package/dist/esm/client/operationOptionHelpers.js +21 -0
- package/dist/esm/client/operationOptionHelpers.js.map +1 -0
- package/dist/esm/client/restError.d.ts +11 -0
- package/dist/esm/client/restError.d.ts.map +1 -0
- package/dist/esm/client/restError.js +29 -0
- package/dist/esm/client/restError.js.map +1 -0
- package/dist/esm/client/sendRequest.d.ts +30 -0
- package/dist/esm/client/sendRequest.d.ts.map +1 -0
- package/dist/esm/client/sendRequest.js +195 -0
- package/dist/esm/client/sendRequest.js.map +1 -0
- package/dist/esm/client/urlHelpers.d.ts +20 -0
- package/dist/esm/client/urlHelpers.d.ts.map +1 -0
- package/dist/esm/client/urlHelpers.js +99 -0
- package/dist/esm/client/urlHelpers.js.map +1 -0
- package/dist/esm/constants.d.ts +3 -0
- package/dist/esm/constants.d.ts.map +1 -0
- package/dist/esm/constants.js +5 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/createPipelineFromOptions.d.ts +59 -0
- package/dist/esm/createPipelineFromOptions.d.ts.map +1 -0
- package/dist/esm/createPipelineFromOptions.js +44 -0
- package/dist/esm/createPipelineFromOptions.js.map +1 -0
- package/dist/esm/defaultHttpClient.d.ts +6 -0
- package/dist/esm/defaultHttpClient.d.ts.map +1 -0
- package/dist/esm/defaultHttpClient.js +10 -0
- package/dist/esm/defaultHttpClient.js.map +1 -0
- package/dist/esm/fetchHttpClient.d.ts +7 -0
- package/dist/esm/fetchHttpClient.d.ts.map +1 -0
- package/dist/esm/fetchHttpClient.js +262 -0
- package/dist/esm/fetchHttpClient.js.map +1 -0
- package/dist/esm/httpHeaders.d.ts +7 -0
- package/dist/esm/httpHeaders.d.ts.map +1 -0
- package/dist/esm/httpHeaders.js +89 -0
- package/dist/esm/httpHeaders.js.map +1 -0
- package/dist/esm/index.d.ts +56 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +43 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/interfaces.d.ts +447 -0
- package/dist/esm/interfaces.d.ts.map +1 -0
- package/dist/esm/interfaces.js +4 -0
- package/dist/esm/interfaces.js.map +1 -0
- package/dist/esm/log.d.ts +2 -0
- package/dist/esm/log.d.ts.map +1 -0
- package/dist/esm/log.js +5 -0
- package/dist/esm/log.js.map +1 -0
- package/dist/esm/logger/debug.d.ts +63 -0
- package/dist/esm/logger/debug.d.ts.map +1 -0
- package/dist/esm/logger/debug.js +93 -0
- package/dist/esm/logger/debug.js.map +1 -0
- package/dist/esm/logger/log.d.ts +2 -0
- package/dist/esm/logger/log.d.ts.map +1 -0
- package/dist/esm/logger/log.js +9 -0
- package/dist/esm/logger/log.js.map +1 -0
- package/dist/esm/logger/logger.d.ts +68 -0
- package/dist/esm/logger/logger.d.ts.map +1 -0
- package/dist/esm/logger/logger.js +99 -0
- package/dist/esm/logger/logger.js.map +1 -0
- package/dist/esm/nodeHttpClient.d.ts +9 -0
- package/dist/esm/nodeHttpClient.d.ts.map +1 -0
- package/dist/esm/nodeHttpClient.js +330 -0
- package/dist/esm/nodeHttpClient.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/pipeline.d.ts +93 -0
- package/dist/esm/pipeline.d.ts.map +1 -0
- package/dist/esm/pipeline.js +262 -0
- package/dist/esm/pipeline.js.map +1 -0
- package/dist/esm/pipelineRequest.d.ts +93 -0
- package/dist/esm/pipelineRequest.d.ts.map +1 -0
- package/dist/esm/pipelineRequest.js +53 -0
- package/dist/esm/pipelineRequest.js.map +1 -0
- package/dist/esm/policies/bearerTokenAuthenticationPolicy.d.ts +99 -0
- package/dist/esm/policies/bearerTokenAuthenticationPolicy.d.ts.map +1 -0
- package/dist/esm/policies/bearerTokenAuthenticationPolicy.js +112 -0
- package/dist/esm/policies/bearerTokenAuthenticationPolicy.js.map +1 -0
- package/dist/esm/policies/decompressResponsePolicy.d.ts +11 -0
- package/dist/esm/policies/decompressResponsePolicy.d.ts.map +1 -0
- package/dist/esm/policies/decompressResponsePolicy.js.map +1 -0
- package/dist/esm/policies/defaultRetryPolicy.d.ts +19 -0
- package/dist/esm/policies/defaultRetryPolicy.d.ts.map +1 -0
- package/dist/esm/policies/defaultRetryPolicy.js +25 -0
- package/dist/esm/policies/defaultRetryPolicy.js.map +1 -0
- package/dist/esm/policies/exponentialRetryPolicy.d.ts +31 -0
- package/dist/esm/policies/exponentialRetryPolicy.d.ts.map +1 -0
- package/dist/esm/policies/exponentialRetryPolicy.js +24 -0
- package/dist/esm/policies/exponentialRetryPolicy.js.map +1 -0
- package/dist/esm/policies/formDataPolicy.d.ts +10 -0
- package/dist/esm/policies/formDataPolicy.d.ts.map +1 -0
- package/dist/esm/policies/formDataPolicy.js +81 -0
- package/dist/esm/policies/formDataPolicy.js.map +1 -0
- package/dist/esm/policies/logPolicy.d.ts +35 -0
- package/dist/esm/policies/logPolicy.d.ts.map +1 -0
- package/dist/esm/policies/logPolicy.js +33 -0
- package/dist/esm/policies/logPolicy.js.map +1 -0
- package/dist/esm/policies/multipartPolicy.d.ts +10 -0
- package/dist/esm/policies/multipartPolicy.d.ts.map +1 -0
- package/dist/esm/policies/multipartPolicy.js +111 -0
- package/dist/esm/policies/multipartPolicy.js.map +1 -0
- package/dist/esm/policies/proxyPolicy.d.ts +31 -0
- package/dist/esm/policies/proxyPolicy.d.ts.map +1 -0
- package/dist/esm/policies/proxyPolicy.js +170 -0
- package/dist/esm/policies/proxyPolicy.js.map +1 -0
- package/dist/esm/policies/redirectPolicy.d.ts +23 -0
- package/dist/esm/policies/redirectPolicy.d.ts.map +1 -0
- package/dist/esm/policies/redirectPolicy.js +52 -0
- package/dist/esm/policies/redirectPolicy.js.map +1 -0
- package/dist/esm/policies/retryPolicy.d.ts +21 -0
- package/dist/esm/policies/retryPolicy.d.ts.map +1 -0
- package/dist/esm/policies/retryPolicy.js +105 -0
- package/dist/esm/policies/retryPolicy.js.map +1 -0
- package/dist/esm/policies/systemErrorRetryPolicy.d.ts +33 -0
- package/dist/esm/policies/systemErrorRetryPolicy.d.ts.map +1 -0
- package/dist/esm/policies/systemErrorRetryPolicy.js +29 -0
- package/dist/esm/policies/systemErrorRetryPolicy.js.map +1 -0
- package/dist/esm/policies/throttlingRetryPolicy.d.ts +26 -0
- package/dist/esm/policies/throttlingRetryPolicy.d.ts.map +1 -0
- package/dist/esm/policies/throttlingRetryPolicy.js +28 -0
- package/dist/esm/policies/throttlingRetryPolicy.js.map +1 -0
- package/dist/esm/policies/tlsPolicy.d.ts +11 -0
- package/dist/esm/policies/tlsPolicy.d.ts.map +1 -0
- package/dist/esm/policies/tlsPolicy.js +22 -0
- package/dist/esm/policies/tlsPolicy.js.map +1 -0
- package/dist/esm/policies/tracingPolicy.d.ts +24 -0
- package/dist/esm/policies/tracingPolicy.d.ts.map +1 -0
- package/dist/esm/policies/tracingPolicy.js +119 -0
- package/dist/esm/policies/tracingPolicy.js.map +1 -0
- package/dist/esm/policies/userAgentPolicy.d.ts +22 -0
- package/dist/esm/policies/userAgentPolicy.d.ts.map +1 -0
- package/dist/esm/policies/userAgentPolicy.js +26 -0
- package/dist/esm/policies/userAgentPolicy.js.map +1 -0
- package/dist/esm/restError.d.ts +65 -0
- package/dist/esm/restError.d.ts.map +1 -0
- package/dist/esm/restError.js +68 -0
- package/dist/esm/restError.js.map +1 -0
- package/dist/esm/retryStrategies/exponentialRetryStrategy.d.ts +40 -0
- package/dist/esm/retryStrategies/exponentialRetryStrategy.d.ts.map +1 -0
- package/dist/esm/retryStrategies/exponentialRetryStrategy.js +69 -0
- package/dist/esm/retryStrategies/exponentialRetryStrategy.js.map +1 -0
- package/dist/esm/retryStrategies/retryStrategy.d.ts +61 -0
- package/dist/esm/retryStrategies/retryStrategy.d.ts.map +1 -0
- package/dist/esm/retryStrategies/retryStrategy.js +4 -0
- package/dist/esm/retryStrategies/retryStrategy.js.map +1 -0
- package/dist/esm/retryStrategies/throttlingRetryStrategy.d.ts +9 -0
- package/dist/esm/retryStrategies/throttlingRetryStrategy.d.ts.map +1 -0
- package/dist/esm/retryStrategies/throttlingRetryStrategy.js +74 -0
- package/dist/esm/retryStrategies/throttlingRetryStrategy.js.map +1 -0
- package/dist/esm/tracing/instrumenter.d.ts +16 -0
- package/dist/esm/tracing/instrumenter.d.ts.map +1 -0
- package/dist/esm/tracing/instrumenter.js +61 -0
- package/dist/esm/tracing/instrumenter.js.map +1 -0
- package/dist/esm/tracing/interfaces.d.ts +254 -0
- package/dist/esm/tracing/interfaces.d.ts.map +1 -0
- package/dist/esm/tracing/interfaces.js +4 -0
- package/dist/esm/tracing/interfaces.js.map +1 -0
- package/dist/esm/tracing/tracingClient.d.ts +9 -0
- package/dist/esm/tracing/tracingClient.d.ts.map +1 -0
- package/dist/esm/tracing/tracingClient.js +78 -0
- package/dist/esm/tracing/tracingClient.js.map +1 -0
- package/dist/esm/tracing/tracingContext.d.ts +34 -0
- package/dist/esm/tracing/tracingContext.d.ts.map +1 -0
- package/dist/esm/tracing/tracingContext.js +48 -0
- package/dist/esm/tracing/tracingContext.js.map +1 -0
- package/dist/esm/util/aborterUtils.d.ts +27 -0
- package/dist/esm/util/aborterUtils.d.ts.map +1 -0
- package/dist/esm/util/aborterUtils.js +20 -0
- package/dist/esm/util/aborterUtils.js.map +1 -0
- package/dist/esm/util/bytesEncoding.d.ts +17 -0
- package/dist/esm/util/bytesEncoding.d.ts.map +1 -0
- package/dist/esm/util/checkEnvironment.d.ts +37 -0
- package/dist/esm/util/checkEnvironment.d.ts.map +1 -0
- package/dist/esm/util/checkEnvironment.js +40 -0
- package/dist/esm/util/checkEnvironment.js.map +1 -0
- package/dist/esm/util/createAbortablePromise.d.ts +16 -0
- package/dist/esm/util/createAbortablePromise.d.ts.map +1 -0
- package/dist/esm/util/createAbortablePromise.js +42 -0
- package/dist/esm/util/createAbortablePromise.js.map +1 -0
- package/dist/esm/util/delay.d.ts +14 -0
- package/dist/esm/util/delay.d.ts.map +1 -0
- package/dist/esm/util/delay.js +22 -0
- package/dist/esm/util/delay.js.map +1 -0
- package/dist/esm/util/error.d.ts +13 -0
- package/dist/esm/util/error.d.ts.map +1 -0
- package/dist/esm/util/error.js +42 -0
- package/dist/esm/util/error.js.map +1 -0
- package/dist/esm/util/file.d.ts +62 -0
- package/dist/esm/util/file.d.ts.map +1 -0
- package/dist/esm/util/file.js +66 -0
- package/dist/esm/util/file.js.map +1 -0
- package/dist/esm/util/helpers.d.ts +21 -0
- package/dist/esm/util/helpers.d.ts.map +1 -0
- package/dist/esm/util/helpers.js +58 -0
- package/dist/esm/util/helpers.js.map +1 -0
- package/dist/esm/util/inspect.d.ts +2 -0
- package/dist/esm/util/inspect.d.ts.map +1 -0
- package/dist/esm/util/inspect.js +5 -0
- package/dist/esm/util/inspect.js.map +1 -0
- package/dist/esm/util/object.d.ts +12 -0
- package/dist/esm/util/object.d.ts.map +1 -0
- package/dist/esm/util/object.js +14 -0
- package/dist/esm/util/object.js.map +1 -0
- package/dist/esm/util/random.d.ts +10 -0
- package/dist/esm/util/random.d.ts.map +1 -0
- package/dist/esm/util/random.js +21 -0
- package/dist/esm/util/random.js.map +1 -0
- package/dist/esm/util/sanitizer.d.ts +30 -0
- package/dist/esm/util/sanitizer.d.ts.map +1 -0
- package/dist/esm/util/sanitizer.js +145 -0
- package/dist/esm/util/sanitizer.js.map +1 -0
- package/dist/esm/util/sha256.d.ts +14 -0
- package/dist/esm/util/sha256.d.ts.map +1 -0
- package/dist/esm/util/sha256.js +22 -0
- package/dist/esm/util/sha256.js.map +1 -0
- package/dist/esm/util/stream.d.ts +5 -0
- package/dist/esm/util/stream.d.ts.map +1 -0
- package/dist/esm/util/stream.js +63 -0
- package/dist/esm/util/stream.js.map +1 -0
- package/dist/esm/util/tokenCycler.d.ts +45 -0
- package/dist/esm/util/tokenCycler.d.ts.map +1 -0
- package/dist/esm/util/tokenCycler.js +150 -0
- package/dist/esm/util/tokenCycler.js.map +1 -0
- package/dist/esm/util/typeGuards.d.ts +23 -0
- package/dist/esm/util/typeGuards.d.ts.map +1 -0
- package/dist/esm/util/typeGuards.js +48 -0
- package/dist/esm/util/typeGuards.js.map +1 -0
- package/dist/esm/util/userAgent.d.ts +9 -0
- package/dist/esm/util/userAgent.d.ts.map +1 -0
- package/dist/esm/util/userAgent.js +30 -0
- package/dist/esm/util/userAgent.js.map +1 -0
- package/dist/esm/util/userAgentPlatform.d.ts +9 -0
- package/dist/esm/util/userAgentPlatform.d.ts.map +1 -0
- package/dist/esm/util/userAgentPlatform.js +27 -0
- package/dist/esm/util/userAgentPlatform.js.map +1 -0
- package/dist/esm/util/uuidUtils.common.d.ts +13 -0
- package/dist/esm/util/uuidUtils.common.d.ts.map +1 -0
- package/dist/esm/util/uuidUtils.common.js +43 -0
- package/dist/esm/util/uuidUtils.common.js.map +1 -0
- package/dist/esm/util/uuidUtils.d.ts +7 -0
- package/dist/esm/util/uuidUtils.d.ts.map +1 -0
- package/dist/esm/util/uuidUtils.js +21 -0
- package/dist/esm/util/uuidUtils.js.map +1 -0
- package/dist/esm/xhrHttpClient.d.ts +7 -0
- package/dist/esm/xhrHttpClient.d.ts.map +1 -0
- package/dist/esm/xhrHttpClient.js +165 -0
- package/dist/esm/xhrHttpClient.js.map +1 -0
- package/dist/react-native/abort-controller/AbortError.d.ts +22 -0
- package/dist/react-native/abort-controller/AbortError.d.ts.map +1 -0
- package/dist/react-native/abort-controller/AbortError.js +27 -0
- package/dist/react-native/abort-controller/AbortError.js.map +1 -0
- package/dist/react-native/abort-controller/AbortSignalLike.d.ts +19 -0
- package/dist/react-native/abort-controller/AbortSignalLike.d.ts.map +1 -0
- package/dist/react-native/abort-controller/AbortSignalLike.js +4 -0
- package/dist/react-native/abort-controller/AbortSignalLike.js.map +1 -0
- package/dist/react-native/accessTokenCache.d.ts +40 -0
- package/dist/react-native/accessTokenCache.d.ts.map +1 -0
- package/dist/react-native/accessTokenCache.js +34 -0
- package/dist/react-native/accessTokenCache.js.map +1 -0
- package/dist/react-native/auth/keyCredential.d.ts +10 -0
- package/dist/react-native/auth/keyCredential.d.ts.map +1 -0
- package/dist/react-native/auth/keyCredential.js +4 -0
- package/dist/react-native/auth/keyCredential.js.map +1 -0
- package/dist/react-native/auth/tokenCredential.d.ts +77 -0
- package/dist/react-native/auth/tokenCredential.d.ts.map +1 -0
- package/dist/react-native/auth/tokenCredential.js +19 -0
- package/dist/react-native/auth/tokenCredential.js.map +1 -0
- package/dist/react-native/client/apiVersionPolicy.d.ts +10 -0
- package/dist/react-native/client/apiVersionPolicy.d.ts.map +1 -0
- package/dist/react-native/client/apiVersionPolicy.js +23 -0
- package/dist/react-native/client/apiVersionPolicy.js.map +1 -0
- package/dist/react-native/client/clientHelpers.d.ts +28 -0
- package/dist/react-native/client/clientHelpers.d.ts.map +1 -0
- package/dist/react-native/client/clientHelpers.js +51 -0
- package/dist/react-native/client/clientHelpers.js.map +1 -0
- package/dist/react-native/client/common.d.ts +358 -0
- package/dist/react-native/client/common.d.ts.map +1 -0
- package/dist/react-native/client/common.js +4 -0
- package/dist/react-native/client/common.js.map +1 -0
- package/dist/react-native/client/getClient.d.ts +17 -0
- package/dist/react-native/client/getClient.d.ts.map +1 -0
- package/dist/react-native/client/getClient.js +84 -0
- package/dist/react-native/client/getClient.js.map +1 -0
- package/dist/react-native/client/helpers/getBinaryBody.d.ts +5 -0
- package/dist/react-native/client/helpers/getBinaryBody.d.ts.map +1 -0
- package/dist/react-native/client/helpers/getBinaryBody.js +13 -0
- package/dist/react-native/client/helpers/getBinaryBody.js.map +1 -0
- package/dist/react-native/client/keyCredentialAuthenticationPolicy.d.ts +8 -0
- package/dist/react-native/client/keyCredentialAuthenticationPolicy.d.ts.map +1 -0
- package/dist/react-native/client/keyCredentialAuthenticationPolicy.js +16 -0
- package/dist/react-native/client/keyCredentialAuthenticationPolicy.js.map +1 -0
- package/dist/react-native/client/operationOptionHelpers.d.ts +8 -0
- package/dist/react-native/client/operationOptionHelpers.d.ts.map +1 -0
- package/dist/react-native/client/operationOptionHelpers.js +21 -0
- package/dist/react-native/client/operationOptionHelpers.js.map +1 -0
- package/dist/react-native/client/restError.d.ts +11 -0
- package/dist/react-native/client/restError.d.ts.map +1 -0
- package/dist/react-native/client/restError.js +29 -0
- package/dist/react-native/client/restError.js.map +1 -0
- package/dist/react-native/client/sendRequest.d.ts +30 -0
- package/dist/react-native/client/sendRequest.d.ts.map +1 -0
- package/dist/react-native/client/sendRequest.js +195 -0
- package/dist/react-native/client/sendRequest.js.map +1 -0
- package/dist/react-native/client/urlHelpers.d.ts +20 -0
- package/dist/react-native/client/urlHelpers.d.ts.map +1 -0
- package/dist/react-native/client/urlHelpers.js +99 -0
- package/dist/react-native/client/urlHelpers.js.map +1 -0
- package/dist/react-native/constants.d.ts +3 -0
- package/dist/react-native/constants.d.ts.map +1 -0
- package/dist/react-native/constants.js +5 -0
- package/dist/react-native/constants.js.map +1 -0
- package/dist/react-native/createPipelineFromOptions.d.ts +59 -0
- package/dist/react-native/createPipelineFromOptions.d.ts.map +1 -0
- package/dist/react-native/createPipelineFromOptions.js +44 -0
- package/dist/react-native/createPipelineFromOptions.js.map +1 -0
- package/dist/react-native/defaultHttpClient-react-native.d.mts.map +1 -0
- package/dist/react-native/defaultHttpClient-react-native.mjs.map +1 -0
- package/dist/react-native/defaultHttpClient.d.ts +6 -0
- package/dist/react-native/defaultHttpClient.js +10 -0
- package/dist/react-native/fetchHttpClient.d.ts +7 -0
- package/dist/react-native/fetchHttpClient.d.ts.map +1 -0
- package/dist/react-native/fetchHttpClient.js +262 -0
- package/dist/react-native/fetchHttpClient.js.map +1 -0
- package/dist/react-native/httpHeaders.d.ts +7 -0
- package/dist/react-native/httpHeaders.d.ts.map +1 -0
- package/dist/react-native/httpHeaders.js +89 -0
- package/dist/react-native/httpHeaders.js.map +1 -0
- package/dist/react-native/index.d.ts +56 -0
- package/dist/react-native/index.d.ts.map +1 -0
- package/dist/react-native/index.js +43 -0
- package/dist/react-native/index.js.map +1 -0
- package/dist/react-native/interfaces.d.ts +447 -0
- package/dist/react-native/interfaces.d.ts.map +1 -0
- package/dist/react-native/interfaces.js +4 -0
- package/dist/react-native/interfaces.js.map +1 -0
- package/dist/react-native/log.d.ts +2 -0
- package/dist/react-native/log.d.ts.map +1 -0
- package/dist/react-native/log.js +5 -0
- package/dist/react-native/log.js.map +1 -0
- package/dist/react-native/logger/debug.d.ts +63 -0
- package/dist/react-native/logger/debug.d.ts.map +1 -0
- package/dist/react-native/logger/debug.js +93 -0
- package/dist/react-native/logger/debug.js.map +1 -0
- package/dist/react-native/logger/log.d.ts +2 -0
- package/dist/react-native/logger/log.d.ts.map +1 -0
- package/dist/react-native/logger/log.js +9 -0
- package/dist/react-native/logger/log.js.map +1 -0
- package/dist/react-native/logger/logger.d.ts +68 -0
- package/dist/react-native/logger/logger.d.ts.map +1 -0
- package/dist/react-native/logger/logger.js +99 -0
- package/dist/react-native/logger/logger.js.map +1 -0
- package/dist/react-native/nodeHttpClient.d.ts +9 -0
- package/dist/react-native/nodeHttpClient.d.ts.map +1 -0
- package/dist/react-native/nodeHttpClient.js +330 -0
- package/dist/react-native/nodeHttpClient.js.map +1 -0
- package/dist/react-native/package.json +3 -0
- package/dist/react-native/pipeline.d.ts +93 -0
- package/dist/react-native/pipeline.d.ts.map +1 -0
- package/dist/react-native/pipeline.js +262 -0
- package/dist/react-native/pipeline.js.map +1 -0
- package/dist/react-native/pipelineRequest.d.ts +93 -0
- package/dist/react-native/pipelineRequest.d.ts.map +1 -0
- package/dist/react-native/pipelineRequest.js +53 -0
- package/dist/react-native/pipelineRequest.js.map +1 -0
- package/dist/react-native/policies/bearerTokenAuthenticationPolicy.d.ts +99 -0
- package/dist/react-native/policies/bearerTokenAuthenticationPolicy.d.ts.map +1 -0
- package/dist/react-native/policies/bearerTokenAuthenticationPolicy.js +112 -0
- package/dist/react-native/policies/bearerTokenAuthenticationPolicy.js.map +1 -0
- package/dist/react-native/policies/decompressResponsePolicy.d.ts +11 -0
- package/dist/react-native/policies/decompressResponsePolicy.d.ts.map +1 -0
- package/dist/react-native/policies/decompressResponsePolicy.js +23 -0
- package/dist/react-native/policies/decompressResponsePolicy.js.map +1 -0
- package/dist/react-native/policies/defaultRetryPolicy.d.ts +19 -0
- package/dist/react-native/policies/defaultRetryPolicy.d.ts.map +1 -0
- package/dist/react-native/policies/defaultRetryPolicy.js +25 -0
- package/dist/react-native/policies/defaultRetryPolicy.js.map +1 -0
- package/dist/react-native/policies/exponentialRetryPolicy.d.ts +31 -0
- package/dist/react-native/policies/exponentialRetryPolicy.d.ts.map +1 -0
- package/dist/react-native/policies/exponentialRetryPolicy.js +24 -0
- package/dist/react-native/policies/exponentialRetryPolicy.js.map +1 -0
- package/dist/react-native/policies/formDataPolicy.d.ts +10 -0
- package/dist/react-native/policies/formDataPolicy.d.ts.map +1 -0
- package/dist/react-native/policies/formDataPolicy.js +81 -0
- package/dist/react-native/policies/formDataPolicy.js.map +1 -0
- package/dist/react-native/policies/logPolicy.d.ts +35 -0
- package/dist/react-native/policies/logPolicy.d.ts.map +1 -0
- package/dist/react-native/policies/logPolicy.js +33 -0
- package/dist/react-native/policies/logPolicy.js.map +1 -0
- package/dist/react-native/policies/multipartPolicy.d.ts +10 -0
- package/dist/react-native/policies/multipartPolicy.d.ts.map +1 -0
- package/dist/react-native/policies/multipartPolicy.js +111 -0
- package/dist/react-native/policies/multipartPolicy.js.map +1 -0
- package/dist/react-native/policies/proxyPolicy.d.ts +31 -0
- package/dist/react-native/policies/proxyPolicy.d.ts.map +1 -0
- package/dist/react-native/policies/proxyPolicy.js +170 -0
- package/dist/react-native/policies/proxyPolicy.js.map +1 -0
- package/dist/react-native/policies/redirectPolicy.d.ts +23 -0
- package/dist/react-native/policies/redirectPolicy.d.ts.map +1 -0
- package/dist/react-native/policies/redirectPolicy.js +52 -0
- package/dist/react-native/policies/redirectPolicy.js.map +1 -0
- package/dist/react-native/policies/retryPolicy.d.ts +21 -0
- package/dist/react-native/policies/retryPolicy.d.ts.map +1 -0
- package/dist/react-native/policies/retryPolicy.js +105 -0
- package/dist/react-native/policies/retryPolicy.js.map +1 -0
- package/dist/react-native/policies/systemErrorRetryPolicy.d.ts +33 -0
- package/dist/react-native/policies/systemErrorRetryPolicy.d.ts.map +1 -0
- package/dist/react-native/policies/systemErrorRetryPolicy.js +29 -0
- package/dist/react-native/policies/systemErrorRetryPolicy.js.map +1 -0
- package/dist/react-native/policies/throttlingRetryPolicy.d.ts +26 -0
- package/dist/react-native/policies/throttlingRetryPolicy.d.ts.map +1 -0
- package/dist/react-native/policies/throttlingRetryPolicy.js +28 -0
- package/dist/react-native/policies/throttlingRetryPolicy.js.map +1 -0
- package/dist/react-native/policies/tlsPolicy.d.ts +11 -0
- package/dist/react-native/policies/tlsPolicy.d.ts.map +1 -0
- package/dist/react-native/policies/tlsPolicy.js +22 -0
- package/dist/react-native/policies/tlsPolicy.js.map +1 -0
- package/dist/react-native/policies/tracingPolicy.d.ts +24 -0
- package/dist/react-native/policies/tracingPolicy.d.ts.map +1 -0
- package/dist/react-native/policies/tracingPolicy.js +119 -0
- package/dist/react-native/policies/tracingPolicy.js.map +1 -0
- package/dist/react-native/policies/userAgentPolicy.d.ts +22 -0
- package/dist/react-native/policies/userAgentPolicy.d.ts.map +1 -0
- package/dist/react-native/policies/userAgentPolicy.js +26 -0
- package/dist/react-native/policies/userAgentPolicy.js.map +1 -0
- package/dist/react-native/restError.d.ts +65 -0
- package/dist/react-native/restError.d.ts.map +1 -0
- package/dist/react-native/restError.js +68 -0
- package/dist/react-native/restError.js.map +1 -0
- package/dist/react-native/retryStrategies/exponentialRetryStrategy.d.ts +40 -0
- package/dist/react-native/retryStrategies/exponentialRetryStrategy.d.ts.map +1 -0
- package/dist/react-native/retryStrategies/exponentialRetryStrategy.js +69 -0
- package/dist/react-native/retryStrategies/exponentialRetryStrategy.js.map +1 -0
- package/dist/react-native/retryStrategies/retryStrategy.d.ts +61 -0
- package/dist/react-native/retryStrategies/retryStrategy.d.ts.map +1 -0
- package/dist/react-native/retryStrategies/retryStrategy.js +4 -0
- package/dist/react-native/retryStrategies/retryStrategy.js.map +1 -0
- package/dist/react-native/retryStrategies/throttlingRetryStrategy.d.ts +9 -0
- package/dist/react-native/retryStrategies/throttlingRetryStrategy.d.ts.map +1 -0
- package/dist/react-native/retryStrategies/throttlingRetryStrategy.js +74 -0
- package/dist/react-native/retryStrategies/throttlingRetryStrategy.js.map +1 -0
- package/dist/react-native/tracing/instrumenter.d.ts +16 -0
- package/dist/react-native/tracing/instrumenter.d.ts.map +1 -0
- package/dist/react-native/tracing/instrumenter.js +61 -0
- package/dist/react-native/tracing/instrumenter.js.map +1 -0
- package/dist/react-native/tracing/interfaces.d.ts +254 -0
- package/dist/react-native/tracing/interfaces.d.ts.map +1 -0
- package/dist/react-native/tracing/interfaces.js +4 -0
- package/dist/react-native/tracing/interfaces.js.map +1 -0
- package/dist/react-native/tracing/tracingClient.d.ts +9 -0
- package/dist/react-native/tracing/tracingClient.d.ts.map +1 -0
- package/dist/react-native/tracing/tracingClient.js +78 -0
- package/dist/react-native/tracing/tracingClient.js.map +1 -0
- package/dist/react-native/tracing/tracingContext.d.ts +34 -0
- package/dist/react-native/tracing/tracingContext.d.ts.map +1 -0
- package/dist/react-native/tracing/tracingContext.js +48 -0
- package/dist/react-native/tracing/tracingContext.js.map +1 -0
- package/dist/react-native/util/aborterUtils.d.ts +27 -0
- package/dist/react-native/util/aborterUtils.d.ts.map +1 -0
- package/dist/react-native/util/aborterUtils.js +20 -0
- package/dist/react-native/util/aborterUtils.js.map +1 -0
- package/dist/react-native/util/bytesEncoding.d.ts +17 -0
- package/dist/react-native/util/bytesEncoding.d.ts.map +1 -0
- package/dist/react-native/util/bytesEncoding.js +21 -0
- package/dist/react-native/util/bytesEncoding.js.map +1 -0
- package/dist/react-native/util/checkEnvironment.d.ts +37 -0
- package/dist/react-native/util/checkEnvironment.d.ts.map +1 -0
- package/dist/react-native/util/checkEnvironment.js +40 -0
- package/dist/react-native/util/checkEnvironment.js.map +1 -0
- package/dist/react-native/util/createAbortablePromise.d.ts +16 -0
- package/dist/react-native/util/createAbortablePromise.d.ts.map +1 -0
- package/dist/react-native/util/createAbortablePromise.js +42 -0
- package/dist/react-native/util/createAbortablePromise.js.map +1 -0
- package/dist/react-native/util/delay.d.ts +14 -0
- package/dist/react-native/util/delay.d.ts.map +1 -0
- package/dist/react-native/util/delay.js +22 -0
- package/dist/react-native/util/delay.js.map +1 -0
- package/dist/react-native/util/error.d.ts +13 -0
- package/dist/react-native/util/error.d.ts.map +1 -0
- package/dist/react-native/util/error.js +42 -0
- package/dist/react-native/util/error.js.map +1 -0
- package/dist/react-native/util/file.d.ts +62 -0
- package/dist/react-native/util/file.d.ts.map +1 -0
- package/dist/react-native/util/file.js +66 -0
- package/dist/react-native/util/file.js.map +1 -0
- package/dist/react-native/util/helpers.d.ts +21 -0
- package/dist/react-native/util/helpers.d.ts.map +1 -0
- package/dist/react-native/util/helpers.js +58 -0
- package/dist/react-native/util/helpers.js.map +1 -0
- package/dist/react-native/util/inspect.d.ts +2 -0
- package/dist/react-native/util/inspect.d.ts.map +1 -0
- package/dist/react-native/util/inspect.js +5 -0
- package/dist/react-native/util/inspect.js.map +1 -0
- package/dist/react-native/util/object.d.ts +12 -0
- package/dist/react-native/util/object.d.ts.map +1 -0
- package/dist/react-native/util/object.js +14 -0
- package/dist/react-native/util/object.js.map +1 -0
- package/dist/react-native/util/random.d.ts +10 -0
- package/dist/react-native/util/random.d.ts.map +1 -0
- package/dist/react-native/util/random.js +21 -0
- package/dist/react-native/util/random.js.map +1 -0
- package/dist/react-native/util/sanitizer.d.ts +30 -0
- package/dist/react-native/util/sanitizer.d.ts.map +1 -0
- package/dist/react-native/util/sanitizer.js +145 -0
- package/dist/react-native/util/sanitizer.js.map +1 -0
- package/dist/react-native/util/sha256.d.ts +14 -0
- package/dist/react-native/util/sha256.d.ts.map +1 -0
- package/dist/react-native/util/sha256.js +22 -0
- package/dist/react-native/util/sha256.js.map +1 -0
- package/dist/react-native/util/stream.d.ts +5 -0
- package/dist/react-native/util/stream.d.ts.map +1 -0
- package/dist/react-native/util/stream.js +63 -0
- package/dist/react-native/util/stream.js.map +1 -0
- package/dist/react-native/util/tokenCycler.d.ts +45 -0
- package/dist/react-native/util/tokenCycler.d.ts.map +1 -0
- package/dist/react-native/util/tokenCycler.js +150 -0
- package/dist/react-native/util/tokenCycler.js.map +1 -0
- package/dist/react-native/util/typeGuards.d.ts +23 -0
- package/dist/react-native/util/typeGuards.d.ts.map +1 -0
- package/dist/react-native/util/typeGuards.js +48 -0
- package/dist/react-native/util/typeGuards.js.map +1 -0
- package/dist/react-native/util/userAgent.d.ts +9 -0
- package/dist/react-native/util/userAgent.d.ts.map +1 -0
- package/dist/react-native/util/userAgent.js +30 -0
- package/dist/react-native/util/userAgent.js.map +1 -0
- package/dist/react-native/util/userAgentPlatform-react-native.d.mts.map +1 -0
- package/dist/react-native/util/userAgentPlatform-react-native.mjs.map +1 -0
- package/dist/react-native/util/userAgentPlatform.d.ts +9 -0
- package/dist/react-native/util/userAgentPlatform.js +24 -0
- package/dist/react-native/util/uuidUtils-react-native.d.mts.map +1 -0
- package/dist/react-native/util/uuidUtils-react-native.mjs.map +1 -0
- package/dist/react-native/util/uuidUtils.common.d.ts +13 -0
- package/dist/react-native/util/uuidUtils.common.d.ts.map +1 -0
- package/dist/react-native/util/uuidUtils.common.js +43 -0
- package/dist/react-native/util/uuidUtils.common.js.map +1 -0
- package/dist/react-native/util/uuidUtils.d.ts +2 -0
- package/dist/react-native/util/uuidUtils.js +4 -0
- package/dist/react-native/xhrHttpClient.d.ts +7 -0
- package/dist/react-native/xhrHttpClient.d.ts.map +1 -0
- package/dist/react-native/xhrHttpClient.js +165 -0
- package/dist/react-native/xhrHttpClient.js.map +1 -0
- package/package.json +72 -75
- package/dist/index.js +0 -3694
- package/dist/index.js.map +0 -1
- package/dist-esm/src/accessTokenCache.js +0 -32
- package/dist-esm/src/accessTokenCache.js.map +0 -1
- package/dist-esm/src/auth/tokenCredential.js.map +0 -1
- package/dist-esm/src/client/apiVersionPolicy.js.map +0 -1
- package/dist-esm/src/client/clientHelpers.js +0 -52
- package/dist-esm/src/client/clientHelpers.js.map +0 -1
- package/dist-esm/src/client/common.js.map +0 -1
- package/dist-esm/src/client/getClient.js +0 -86
- package/dist-esm/src/client/getClient.js.map +0 -1
- package/dist-esm/src/client/keyCredentialAuthenticationPolicy.js.map +0 -1
- package/dist-esm/src/client/operationOptionHelpers.js +0 -22
- package/dist-esm/src/client/operationOptionHelpers.js.map +0 -1
- package/dist-esm/src/client/restError.js +0 -31
- package/dist-esm/src/client/restError.js.map +0 -1
- package/dist-esm/src/client/sendRequest.js +0 -195
- package/dist-esm/src/client/sendRequest.js.map +0 -1
- package/dist-esm/src/client/urlHelpers.js +0 -100
- package/dist-esm/src/client/urlHelpers.js.map +0 -1
- package/dist-esm/src/createPipelineFromOptions.js +0 -44
- package/dist-esm/src/createPipelineFromOptions.js.map +0 -1
- package/dist-esm/src/defaultHttpClient.browser.js +0 -10
- package/dist-esm/src/defaultHttpClient.browser.js.map +0 -1
- package/dist-esm/src/defaultHttpClient.js +0 -10
- package/dist-esm/src/defaultHttpClient.js.map +0 -1
- package/dist-esm/src/defaultHttpClient.native.js +0 -10
- package/dist-esm/src/defaultHttpClient.native.js.map +0 -1
- package/dist-esm/src/fetchHttpClient.js +0 -255
- package/dist-esm/src/fetchHttpClient.js.map +0 -1
- package/dist-esm/src/httpHeaders.js +0 -89
- package/dist-esm/src/httpHeaders.js.map +0 -1
- package/dist-esm/src/index.js +0 -43
- package/dist-esm/src/index.js.map +0 -1
- package/dist-esm/src/interfaces.js.map +0 -1
- package/dist-esm/src/log.js +0 -5
- package/dist-esm/src/log.js.map +0 -1
- package/dist-esm/src/logger/debug.js +0 -93
- package/dist-esm/src/logger/debug.js.map +0 -1
- package/dist-esm/src/logger/log.browser.js +0 -23
- package/dist-esm/src/logger/log.browser.js.map +0 -1
- package/dist-esm/src/logger/log.js +0 -8
- package/dist-esm/src/logger/log.js.map +0 -1
- package/dist-esm/src/logger/logger.js +0 -99
- package/dist-esm/src/logger/logger.js.map +0 -1
- package/dist-esm/src/nodeHttpClient.js +0 -332
- package/dist-esm/src/nodeHttpClient.js.map +0 -1
- package/dist-esm/src/pipeline.js +0 -262
- package/dist-esm/src/pipeline.js.map +0 -1
- package/dist-esm/src/pipelineRequest.js +0 -36
- package/dist-esm/src/pipelineRequest.js.map +0 -1
- package/dist-esm/src/policies/bearerTokenAuthenticationPolicy.js +0 -108
- package/dist-esm/src/policies/bearerTokenAuthenticationPolicy.js.map +0 -1
- package/dist-esm/src/policies/decompressResponsePolicy.browser.js +0 -14
- package/dist-esm/src/policies/decompressResponsePolicy.browser.js.map +0 -1
- package/dist-esm/src/policies/decompressResponsePolicy.js.map +0 -1
- package/dist-esm/src/policies/defaultRetryPolicy.js +0 -26
- package/dist-esm/src/policies/defaultRetryPolicy.js.map +0 -1
- package/dist-esm/src/policies/exponentialRetryPolicy.js +0 -22
- package/dist-esm/src/policies/exponentialRetryPolicy.js.map +0 -1
- package/dist-esm/src/policies/formDataPolicy.js +0 -81
- package/dist-esm/src/policies/formDataPolicy.js.map +0 -1
- package/dist-esm/src/policies/logPolicy.js +0 -34
- package/dist-esm/src/policies/logPolicy.js.map +0 -1
- package/dist-esm/src/policies/multipartPolicy.js +0 -112
- package/dist-esm/src/policies/multipartPolicy.js.map +0 -1
- package/dist-esm/src/policies/proxyPolicy.browser.js +0 -27
- package/dist-esm/src/policies/proxyPolicy.browser.js.map +0 -1
- package/dist-esm/src/policies/proxyPolicy.js +0 -171
- package/dist-esm/src/policies/proxyPolicy.js.map +0 -1
- package/dist-esm/src/policies/redirectPolicy.js.map +0 -1
- package/dist-esm/src/policies/retryPolicy.js +0 -106
- package/dist-esm/src/policies/retryPolicy.js.map +0 -1
- package/dist-esm/src/policies/systemErrorRetryPolicy.js +0 -27
- package/dist-esm/src/policies/systemErrorRetryPolicy.js.map +0 -1
- package/dist-esm/src/policies/throttlingRetryPolicy.js +0 -29
- package/dist-esm/src/policies/throttlingRetryPolicy.js.map +0 -1
- package/dist-esm/src/policies/tlsPolicy.js.map +0 -1
- package/dist-esm/src/policies/tracingPolicy.js +0 -120
- package/dist-esm/src/policies/tracingPolicy.js.map +0 -1
- package/dist-esm/src/policies/userAgentPolicy.js +0 -26
- package/dist-esm/src/policies/userAgentPolicy.js.map +0 -1
- package/dist-esm/src/restError.js +0 -48
- package/dist-esm/src/restError.js.map +0 -1
- package/dist-esm/src/retryStrategies/exponentialRetryStrategy.js +0 -70
- package/dist-esm/src/retryStrategies/exponentialRetryStrategy.js.map +0 -1
- package/dist-esm/src/retryStrategies/retryStrategy.js.map +0 -1
- package/dist-esm/src/retryStrategies/throttlingRetryStrategy.js +0 -74
- package/dist-esm/src/retryStrategies/throttlingRetryStrategy.js.map +0 -1
- package/dist-esm/src/tracing/instrumenter.js +0 -61
- package/dist-esm/src/tracing/instrumenter.js.map +0 -1
- package/dist-esm/src/tracing/tracingClient.js +0 -74
- package/dist-esm/src/tracing/tracingClient.js.map +0 -1
- package/dist-esm/src/tracing/tracingContext.js +0 -47
- package/dist-esm/src/tracing/tracingContext.js.map +0 -1
- package/dist-esm/src/util/aborterUtils.js +0 -21
- package/dist-esm/src/util/aborterUtils.js.map +0 -1
- package/dist-esm/src/util/bytesEncoding.browser.js +0 -110
- package/dist-esm/src/util/bytesEncoding.browser.js.map +0 -1
- package/dist-esm/src/util/checkEnvironment.js +0 -41
- package/dist-esm/src/util/checkEnvironment.js.map +0 -1
- package/dist-esm/src/util/createAbortablePromise.js +0 -42
- package/dist-esm/src/util/createAbortablePromise.js.map +0 -1
- package/dist-esm/src/util/delay.js +0 -22
- package/dist-esm/src/util/delay.js.map +0 -1
- package/dist-esm/src/util/error.js +0 -42
- package/dist-esm/src/util/error.js.map +0 -1
- package/dist-esm/src/util/file.js +0 -51
- package/dist-esm/src/util/file.js.map +0 -1
- package/dist-esm/src/util/helpers.js +0 -58
- package/dist-esm/src/util/helpers.js.map +0 -1
- package/dist-esm/src/util/inspect.browser.js +0 -4
- package/dist-esm/src/util/inspect.browser.js.map +0 -1
- package/dist-esm/src/util/inspect.js +0 -5
- package/dist-esm/src/util/inspect.js.map +0 -1
- package/dist-esm/src/util/sanitizer.js +0 -139
- package/dist-esm/src/util/sanitizer.js.map +0 -1
- package/dist-esm/src/util/sha256.browser.js +0 -49
- package/dist-esm/src/util/sha256.browser.js.map +0 -1
- package/dist-esm/src/util/sha256.js +0 -22
- package/dist-esm/src/util/sha256.js.map +0 -1
- package/dist-esm/src/util/stream.browser.js +0 -64
- package/dist-esm/src/util/stream.browser.js.map +0 -1
- package/dist-esm/src/util/stream.js +0 -81
- package/dist-esm/src/util/stream.js.map +0 -1
- package/dist-esm/src/util/tokenCycler.js +0 -149
- package/dist-esm/src/util/tokenCycler.js.map +0 -1
- package/dist-esm/src/util/userAgent.js +0 -30
- package/dist-esm/src/util/userAgent.js.map +0 -1
- package/dist-esm/src/util/userAgentPlatform.browser.js +0 -20
- package/dist-esm/src/util/userAgentPlatform.browser.js.map +0 -1
- package/dist-esm/src/util/userAgentPlatform.js +0 -17
- package/dist-esm/src/util/userAgentPlatform.js.map +0 -1
- package/dist-esm/src/util/userAgentPlatform.native.js +0 -24
- package/dist-esm/src/util/userAgentPlatform.native.js.map +0 -1
- package/dist-esm/src/util/uuidUtils.browser.js +0 -17
- package/dist-esm/src/util/uuidUtils.browser.js.map +0 -1
- package/dist-esm/src/util/uuidUtils.js +0 -22
- package/dist-esm/src/util/uuidUtils.js.map +0 -1
- package/dist-esm/src/util/uuidUtils.native.js +0 -43
- package/dist-esm/src/util/uuidUtils.native.js.map +0 -1
- package/dist-esm/src/xhrHttpClient.js +0 -167
- package/dist-esm/src/xhrHttpClient.js.map +0 -1
- package/ts-http-runtime.shims.d.ts +0 -12
- /package/{dist-esm/src → dist/browser}/abort-controller/AbortError.js +0 -0
- /package/{dist-esm/src → dist/browser}/abort-controller/AbortError.js.map +0 -0
- /package/{dist-esm/src → dist/browser}/abort-controller/AbortSignalLike.js +0 -0
- /package/{dist-esm/src → dist/browser}/abort-controller/AbortSignalLike.js.map +0 -0
- /package/{dist-esm/src → dist/browser}/auth/keyCredential.js +0 -0
- /package/{dist-esm/src → dist/browser}/auth/keyCredential.js.map +0 -0
- /package/{dist-esm/src → dist/browser}/auth/tokenCredential.js +0 -0
- /package/{dist-esm/src → dist/browser}/client/apiVersionPolicy.js +0 -0
- /package/{dist-esm/src → dist/browser}/client/common.js +0 -0
- /package/{dist-esm/src → dist/browser}/client/helpers/getBinaryBody.js +0 -0
- /package/{dist-esm/src → dist/browser}/client/helpers/getBinaryBody.js.map +0 -0
- /package/{dist-esm/src → dist/browser}/client/keyCredentialAuthenticationPolicy.js +0 -0
- /package/{dist-esm/src → dist/browser}/constants.js +0 -0
- /package/{dist-esm/src → dist/browser}/constants.js.map +0 -0
- /package/{dist-esm/src → dist/browser}/interfaces.js +0 -0
- /package/{dist-esm/src → dist/browser}/policies/redirectPolicy.js +0 -0
- /package/{dist-esm/src → dist/browser}/policies/tlsPolicy.js +0 -0
- /package/{dist-esm/src → dist/browser}/retryStrategies/retryStrategy.js +0 -0
- /package/{dist-esm/src → dist/browser}/tracing/interfaces.js +0 -0
- /package/{dist-esm/src → dist/browser}/tracing/interfaces.js.map +0 -0
- /package/{dist-esm/src → dist/browser}/util/object.js +0 -0
- /package/{dist-esm/src → dist/browser}/util/object.js.map +0 -0
- /package/{dist-esm/src → dist/browser}/util/random.js +0 -0
- /package/{dist-esm/src → dist/browser}/util/random.js.map +0 -0
- /package/{dist-esm/src → dist/browser}/util/typeGuards.js +0 -0
- /package/{dist-esm/src → dist/browser}/util/typeGuards.js.map +0 -0
- /package/{dist-esm/src → dist/esm}/policies/decompressResponsePolicy.js +0 -0
- /package/{dist-esm/src → dist/esm}/util/bytesEncoding.js +0 -0
- /package/{dist-esm/src → dist/esm}/util/bytesEncoding.js.map +0 -0
- /package/{types → dist}/ts-http-runtime.d.ts +0 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT license.
|
|
3
|
+
import { stringToUint8Array } from "../util/bytesEncoding.js";
|
|
4
|
+
import { toStream, concatenateStreams } from "../util/stream.js";
|
|
5
|
+
import { isBlob } from "../util/typeGuards.js";
|
|
6
|
+
import { randomUUID } from "../util/uuidUtils.js";
|
|
7
|
+
function generateBoundary() {
|
|
8
|
+
return `----AzSDKFormBoundary${randomUUID()}`;
|
|
9
|
+
}
|
|
10
|
+
function encodeHeaders(headers) {
|
|
11
|
+
let result = "";
|
|
12
|
+
for (const [key, value] of headers) {
|
|
13
|
+
result += `${key}: ${value}\r\n`;
|
|
14
|
+
}
|
|
15
|
+
return result;
|
|
16
|
+
}
|
|
17
|
+
function getLength(source) {
|
|
18
|
+
if (source instanceof Uint8Array) {
|
|
19
|
+
return source.byteLength;
|
|
20
|
+
}
|
|
21
|
+
else if (isBlob(source)) {
|
|
22
|
+
// if was created using createFile then -1 means we have an unknown size
|
|
23
|
+
return source.size === -1 ? undefined : source.size;
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function getTotalLength(sources) {
|
|
30
|
+
let total = 0;
|
|
31
|
+
for (const source of sources) {
|
|
32
|
+
const partLength = getLength(source);
|
|
33
|
+
if (partLength === undefined) {
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
total += partLength;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return total;
|
|
41
|
+
}
|
|
42
|
+
function buildRequestBody(request, parts, boundary) {
|
|
43
|
+
const sources = [
|
|
44
|
+
stringToUint8Array(`--${boundary}`, "utf-8"),
|
|
45
|
+
...parts.flatMap((part) => [
|
|
46
|
+
stringToUint8Array("\r\n", "utf-8"),
|
|
47
|
+
stringToUint8Array(encodeHeaders(part.headers), "utf-8"),
|
|
48
|
+
stringToUint8Array("\r\n", "utf-8"),
|
|
49
|
+
part.body,
|
|
50
|
+
stringToUint8Array(`\r\n--${boundary}`, "utf-8"),
|
|
51
|
+
]),
|
|
52
|
+
stringToUint8Array("--\r\n\r\n", "utf-8"),
|
|
53
|
+
];
|
|
54
|
+
const contentLength = getTotalLength(sources);
|
|
55
|
+
if (contentLength) {
|
|
56
|
+
request.headers.set("Content-Length", contentLength);
|
|
57
|
+
}
|
|
58
|
+
request.body = (() => concatenateStreams(sources.map((source) => (typeof source === "function" ? source() : source)).map(toStream)));
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Name of multipart policy
|
|
62
|
+
*/
|
|
63
|
+
export const multipartPolicyName = "multipartPolicy";
|
|
64
|
+
const maxBoundaryLength = 70;
|
|
65
|
+
const validBoundaryCharacters = new Set(`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'()+,-./:=?`);
|
|
66
|
+
function assertValidBoundary(boundary) {
|
|
67
|
+
if (boundary.length > maxBoundaryLength) {
|
|
68
|
+
throw new Error(`Multipart boundary "${boundary}" exceeds maximum length of 70 characters`);
|
|
69
|
+
}
|
|
70
|
+
if (Array.from(boundary).some((x) => !validBoundaryCharacters.has(x))) {
|
|
71
|
+
throw new Error(`Multipart boundary "${boundary}" contains invalid characters`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Pipeline policy for multipart requests
|
|
76
|
+
*/
|
|
77
|
+
export function multipartPolicy() {
|
|
78
|
+
return {
|
|
79
|
+
name: multipartPolicyName,
|
|
80
|
+
sendRequest(request, next) {
|
|
81
|
+
if (!request.multipartBody) {
|
|
82
|
+
return next(request);
|
|
83
|
+
}
|
|
84
|
+
if (request.body) {
|
|
85
|
+
throw new Error("multipartBody and regular body cannot be set at the same time");
|
|
86
|
+
}
|
|
87
|
+
let boundary = request.multipartBody.boundary;
|
|
88
|
+
const contentTypeHeader = request.headers.get("Content-Type") ?? "multipart/mixed";
|
|
89
|
+
const parsedHeader = contentTypeHeader.match(/^(multipart\/[^ ;]+)(?:; *boundary=(.+))?$/);
|
|
90
|
+
if (!parsedHeader) {
|
|
91
|
+
throw new Error(`Got multipart request body, but content-type header was not multipart: ${contentTypeHeader}`);
|
|
92
|
+
}
|
|
93
|
+
const [, contentType, parsedBoundary] = parsedHeader;
|
|
94
|
+
if (parsedBoundary && boundary && parsedBoundary !== boundary) {
|
|
95
|
+
throw new Error(`Multipart boundary was specified as ${parsedBoundary} in the header, but got ${boundary} in the request body`);
|
|
96
|
+
}
|
|
97
|
+
boundary ??= parsedBoundary;
|
|
98
|
+
if (boundary) {
|
|
99
|
+
assertValidBoundary(boundary);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
boundary = generateBoundary();
|
|
103
|
+
}
|
|
104
|
+
request.headers.set("Content-Type", `${contentType}; boundary=${boundary}`);
|
|
105
|
+
buildRequestBody(request, request.multipartBody.parts, boundary);
|
|
106
|
+
request.multipartBody = undefined;
|
|
107
|
+
return next(request);
|
|
108
|
+
},
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=multipartPolicy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multipartPolicy.js","sourceRoot":"","sources":["../../../src/policies/multipartPolicy.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { BodyPart, HttpHeaders, PipelineRequest, RequestBodyType } from \"../interfaces.js\";\nimport { PipelinePolicy } from \"../pipeline.js\";\nimport { stringToUint8Array } from \"../util/bytesEncoding.js\";\nimport { toStream, concatenateStreams } from \"../util/stream.js\";\nimport { isBlob } from \"../util/typeGuards.js\";\nimport { randomUUID } from \"../util/uuidUtils.js\";\n\nfunction generateBoundary(): string {\n return `----AzSDKFormBoundary${randomUUID()}`;\n}\n\nfunction encodeHeaders(headers: HttpHeaders): string {\n let result = \"\";\n for (const [key, value] of headers) {\n result += `${key}: ${value}\\r\\n`;\n }\n return result;\n}\n\nfunction getLength(\n source:\n | (() => ReadableStream<Uint8Array>)\n | (() => NodeJS.ReadableStream)\n | Uint8Array\n | Blob\n | ReadableStream\n | NodeJS.ReadableStream,\n): number | undefined {\n if (source instanceof Uint8Array) {\n return source.byteLength;\n } else if (isBlob(source)) {\n // if was created using createFile then -1 means we have an unknown size\n return source.size === -1 ? undefined : source.size;\n } else {\n return undefined;\n }\n}\n\nfunction getTotalLength(\n sources: (\n | (() => ReadableStream<Uint8Array>)\n | (() => NodeJS.ReadableStream)\n | Uint8Array\n | Blob\n | ReadableStream\n | NodeJS.ReadableStream\n )[],\n): number | undefined {\n let total = 0;\n for (const source of sources) {\n const partLength = getLength(source);\n if (partLength === undefined) {\n return undefined;\n } else {\n total += partLength;\n }\n }\n return total;\n}\n\nfunction buildRequestBody(request: PipelineRequest, parts: BodyPart[], boundary: string): void {\n const sources = [\n stringToUint8Array(`--${boundary}`, \"utf-8\"),\n ...parts.flatMap((part) => [\n stringToUint8Array(\"\\r\\n\", \"utf-8\"),\n stringToUint8Array(encodeHeaders(part.headers), \"utf-8\"),\n stringToUint8Array(\"\\r\\n\", \"utf-8\"),\n part.body,\n stringToUint8Array(`\\r\\n--${boundary}`, \"utf-8\"),\n ]),\n stringToUint8Array(\"--\\r\\n\\r\\n\", \"utf-8\"),\n ];\n\n const contentLength = getTotalLength(sources);\n if (contentLength) {\n request.headers.set(\"Content-Length\", contentLength);\n }\n\n request.body = (() =>\n concatenateStreams(\n sources.map((source) => (typeof source === \"function\" ? source() : source)).map(toStream),\n )) as RequestBodyType;\n}\n\n/**\n * Name of multipart policy\n */\nexport const multipartPolicyName = \"multipartPolicy\";\n\nconst maxBoundaryLength = 70;\nconst validBoundaryCharacters = new Set(\n `abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'()+,-./:=?`,\n);\n\nfunction assertValidBoundary(boundary: string): void {\n if (boundary.length > maxBoundaryLength) {\n throw new Error(`Multipart boundary \"${boundary}\" exceeds maximum length of 70 characters`);\n }\n\n if (Array.from(boundary).some((x) => !validBoundaryCharacters.has(x))) {\n throw new Error(`Multipart boundary \"${boundary}\" contains invalid characters`);\n }\n}\n\n/**\n * Pipeline policy for multipart requests\n */\nexport function multipartPolicy(): PipelinePolicy {\n return {\n name: multipartPolicyName,\n sendRequest(request, next) {\n if (!request.multipartBody) {\n return next(request);\n }\n\n if (request.body) {\n throw new Error(\"multipartBody and regular body cannot be set at the same time\");\n }\n\n let boundary = request.multipartBody.boundary;\n\n const contentTypeHeader = request.headers.get(\"Content-Type\") ?? \"multipart/mixed\";\n const parsedHeader = contentTypeHeader.match(/^(multipart\\/[^ ;]+)(?:; *boundary=(.+))?$/);\n if (!parsedHeader) {\n throw new Error(\n `Got multipart request body, but content-type header was not multipart: ${contentTypeHeader}`,\n );\n }\n\n const [, contentType, parsedBoundary] = parsedHeader;\n if (parsedBoundary && boundary && parsedBoundary !== boundary) {\n throw new Error(\n `Multipart boundary was specified as ${parsedBoundary} in the header, but got ${boundary} in the request body`,\n );\n }\n\n boundary ??= parsedBoundary;\n if (boundary) {\n assertValidBoundary(boundary);\n } else {\n boundary = generateBoundary();\n }\n request.headers.set(\"Content-Type\", `${contentType}; boundary=${boundary}`);\n buildRequestBody(request, request.multipartBody.parts, boundary);\n\n request.multipartBody = undefined;\n\n return next(request);\n },\n };\n}\n"]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ProxySettings } from "../interfaces.js";
|
|
2
|
+
import type { PipelinePolicy } from "../pipeline.js";
|
|
3
|
+
/**
|
|
4
|
+
* The programmatic identifier of the proxyPolicy.
|
|
5
|
+
*/
|
|
6
|
+
export declare const proxyPolicyName = "proxyPolicy";
|
|
7
|
+
/**
|
|
8
|
+
* Stores the patterns specified in NO_PROXY environment variable.
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export declare const globalNoProxyList: string[];
|
|
12
|
+
export declare function loadNoProxy(): string[];
|
|
13
|
+
/**
|
|
14
|
+
* This method converts a proxy url into `ProxySettings` for use with ProxyPolicy.
|
|
15
|
+
* If no argument is given, it attempts to parse a proxy URL from the environment
|
|
16
|
+
* variables `HTTPS_PROXY` or `HTTP_PROXY`.
|
|
17
|
+
* @param proxyUrl - The url of the proxy to use. May contain authentication information.
|
|
18
|
+
*/
|
|
19
|
+
export declare function getDefaultProxySettings(proxyUrl?: string): ProxySettings | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* A policy that allows one to apply proxy settings to all requests.
|
|
22
|
+
* If not passed static settings, they will be retrieved from the HTTPS_PROXY
|
|
23
|
+
* or HTTP_PROXY environment variables.
|
|
24
|
+
* @param proxySettings - ProxySettings to use on each request.
|
|
25
|
+
* @param options - additional settings, for example, custom NO_PROXY patterns
|
|
26
|
+
*/
|
|
27
|
+
export declare function proxyPolicy(proxySettings?: ProxySettings | undefined, options?: {
|
|
28
|
+
/** a list of patterns to override those loaded from NO_PROXY environment variable. */
|
|
29
|
+
customNoProxyList?: string[];
|
|
30
|
+
}): PipelinePolicy;
|
|
31
|
+
//# sourceMappingURL=proxyPolicy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxyPolicy.d.ts","sourceRoot":"","sources":["../../../src/policies/proxyPolicy.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAGV,aAAa,EAEd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAQrD;;GAEG;AACH,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAAO,CAAC;AAkE9C,wBAAgB,WAAW,IAAI,MAAM,EAAE,CAWtC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAgBpF;AAmDD;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,aAAa,4BAA4B,EACzC,OAAO,CAAC,EAAE;IACR,sFAAsF;IACtF,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B,GACA,cAAc,CA2BhB"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT license.
|
|
3
|
+
import { HttpsProxyAgent } from "https-proxy-agent";
|
|
4
|
+
import { HttpProxyAgent } from "http-proxy-agent";
|
|
5
|
+
import { logger } from "../log.js";
|
|
6
|
+
const HTTPS_PROXY = "HTTPS_PROXY";
|
|
7
|
+
const HTTP_PROXY = "HTTP_PROXY";
|
|
8
|
+
const ALL_PROXY = "ALL_PROXY";
|
|
9
|
+
const NO_PROXY = "NO_PROXY";
|
|
10
|
+
/**
|
|
11
|
+
* The programmatic identifier of the proxyPolicy.
|
|
12
|
+
*/
|
|
13
|
+
export const proxyPolicyName = "proxyPolicy";
|
|
14
|
+
/**
|
|
15
|
+
* Stores the patterns specified in NO_PROXY environment variable.
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
export const globalNoProxyList = [];
|
|
19
|
+
let noProxyListLoaded = false;
|
|
20
|
+
/** A cache of whether a host should bypass the proxy. */
|
|
21
|
+
const globalBypassedMap = new Map();
|
|
22
|
+
function getEnvironmentValue(name) {
|
|
23
|
+
if (process.env[name]) {
|
|
24
|
+
return process.env[name];
|
|
25
|
+
}
|
|
26
|
+
else if (process.env[name.toLowerCase()]) {
|
|
27
|
+
return process.env[name.toLowerCase()];
|
|
28
|
+
}
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
function loadEnvironmentProxyValue() {
|
|
32
|
+
if (!process) {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
const httpsProxy = getEnvironmentValue(HTTPS_PROXY);
|
|
36
|
+
const allProxy = getEnvironmentValue(ALL_PROXY);
|
|
37
|
+
const httpProxy = getEnvironmentValue(HTTP_PROXY);
|
|
38
|
+
return httpsProxy || allProxy || httpProxy;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Check whether the host of a given `uri` matches any pattern in the no proxy list.
|
|
42
|
+
* If there's a match, any request sent to the same host shouldn't have the proxy settings set.
|
|
43
|
+
* This implementation is a port of https://github.com/Azure/azure-sdk-for-net/blob/8cca811371159e527159c7eb65602477898683e2/sdk/core/Azure.Core/src/Pipeline/Internal/HttpEnvironmentProxy.cs#L210
|
|
44
|
+
*/
|
|
45
|
+
function isBypassed(uri, noProxyList, bypassedMap) {
|
|
46
|
+
if (noProxyList.length === 0) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
const host = new URL(uri).hostname;
|
|
50
|
+
if (bypassedMap?.has(host)) {
|
|
51
|
+
return bypassedMap.get(host);
|
|
52
|
+
}
|
|
53
|
+
let isBypassedFlag = false;
|
|
54
|
+
for (const pattern of noProxyList) {
|
|
55
|
+
if (pattern[0] === ".") {
|
|
56
|
+
// This should match either domain it self or any subdomain or host
|
|
57
|
+
// .foo.com will match foo.com it self or *.foo.com
|
|
58
|
+
if (host.endsWith(pattern)) {
|
|
59
|
+
isBypassedFlag = true;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
if (host.length === pattern.length - 1 && host === pattern.slice(1)) {
|
|
63
|
+
isBypassedFlag = true;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
if (host === pattern) {
|
|
69
|
+
isBypassedFlag = true;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
bypassedMap?.set(host, isBypassedFlag);
|
|
74
|
+
return isBypassedFlag;
|
|
75
|
+
}
|
|
76
|
+
export function loadNoProxy() {
|
|
77
|
+
const noProxy = getEnvironmentValue(NO_PROXY);
|
|
78
|
+
noProxyListLoaded = true;
|
|
79
|
+
if (noProxy) {
|
|
80
|
+
return noProxy
|
|
81
|
+
.split(",")
|
|
82
|
+
.map((item) => item.trim())
|
|
83
|
+
.filter((item) => item.length);
|
|
84
|
+
}
|
|
85
|
+
return [];
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* This method converts a proxy url into `ProxySettings` for use with ProxyPolicy.
|
|
89
|
+
* If no argument is given, it attempts to parse a proxy URL from the environment
|
|
90
|
+
* variables `HTTPS_PROXY` or `HTTP_PROXY`.
|
|
91
|
+
* @param proxyUrl - The url of the proxy to use. May contain authentication information.
|
|
92
|
+
*/
|
|
93
|
+
export function getDefaultProxySettings(proxyUrl) {
|
|
94
|
+
if (!proxyUrl) {
|
|
95
|
+
proxyUrl = loadEnvironmentProxyValue();
|
|
96
|
+
if (!proxyUrl) {
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
const parsedUrl = new URL(proxyUrl);
|
|
101
|
+
const schema = parsedUrl.protocol ? parsedUrl.protocol + "//" : "";
|
|
102
|
+
return {
|
|
103
|
+
host: schema + parsedUrl.hostname,
|
|
104
|
+
port: Number.parseInt(parsedUrl.port || "80"),
|
|
105
|
+
username: parsedUrl.username,
|
|
106
|
+
password: parsedUrl.password,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
function setProxyAgentOnRequest(request, cachedAgents) {
|
|
110
|
+
// Custom Agent should take precedence so if one is present
|
|
111
|
+
// we should skip to avoid overwriting it.
|
|
112
|
+
if (request.agent) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
const url = new URL(request.url);
|
|
116
|
+
const isInsecure = url.protocol !== "https:";
|
|
117
|
+
const proxySettings = request.proxySettings;
|
|
118
|
+
if (proxySettings) {
|
|
119
|
+
let parsedProxyUrl;
|
|
120
|
+
try {
|
|
121
|
+
parsedProxyUrl = new URL(proxySettings.host);
|
|
122
|
+
}
|
|
123
|
+
catch (_error) {
|
|
124
|
+
throw new Error(`Expecting a valid host string in proxy settings, but found "${proxySettings.host}".`);
|
|
125
|
+
}
|
|
126
|
+
if (request.tlsSettings) {
|
|
127
|
+
logger.warning("TLS settings are not supported in combination with custom Proxy, certificates provided to the client will be ignored.");
|
|
128
|
+
}
|
|
129
|
+
const headers = request.headers.toJSON();
|
|
130
|
+
if (isInsecure) {
|
|
131
|
+
if (!cachedAgents.httpProxyAgent) {
|
|
132
|
+
cachedAgents.httpProxyAgent = new HttpProxyAgent(parsedProxyUrl, { headers });
|
|
133
|
+
}
|
|
134
|
+
request.agent = cachedAgents.httpProxyAgent;
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
if (!cachedAgents.httpsProxyAgent) {
|
|
138
|
+
cachedAgents.httpsProxyAgent = new HttpsProxyAgent(parsedProxyUrl, { headers });
|
|
139
|
+
}
|
|
140
|
+
request.agent = cachedAgents.httpsProxyAgent;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* A policy that allows one to apply proxy settings to all requests.
|
|
146
|
+
* If not passed static settings, they will be retrieved from the HTTPS_PROXY
|
|
147
|
+
* or HTTP_PROXY environment variables.
|
|
148
|
+
* @param proxySettings - ProxySettings to use on each request.
|
|
149
|
+
* @param options - additional settings, for example, custom NO_PROXY patterns
|
|
150
|
+
*/
|
|
151
|
+
export function proxyPolicy(proxySettings = getDefaultProxySettings(), options) {
|
|
152
|
+
if (!noProxyListLoaded) {
|
|
153
|
+
globalNoProxyList.push(...loadNoProxy());
|
|
154
|
+
}
|
|
155
|
+
const cachedAgents = {};
|
|
156
|
+
return {
|
|
157
|
+
name: proxyPolicyName,
|
|
158
|
+
async sendRequest(request, next) {
|
|
159
|
+
if (!request.proxySettings &&
|
|
160
|
+
!isBypassed(request.url, options?.customNoProxyList ?? globalNoProxyList, options?.customNoProxyList ? undefined : globalBypassedMap)) {
|
|
161
|
+
request.proxySettings = proxySettings;
|
|
162
|
+
}
|
|
163
|
+
if (request.proxySettings) {
|
|
164
|
+
setProxyAgentOnRequest(request, cachedAgents);
|
|
165
|
+
}
|
|
166
|
+
return next(request);
|
|
167
|
+
},
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=proxyPolicy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxyPolicy.js","sourceRoot":"","sources":["../../../src/policies/proxyPolicy.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport type * as http from \"http\";\nimport type * as https from \"https\";\nimport { HttpsProxyAgent } from \"https-proxy-agent\";\nimport { HttpProxyAgent } from \"http-proxy-agent\";\nimport type {\n PipelineRequest,\n PipelineResponse,\n ProxySettings,\n SendRequest,\n} from \"../interfaces.js\";\nimport type { PipelinePolicy } from \"../pipeline.js\";\nimport { logger } from \"../log.js\";\n\nconst HTTPS_PROXY = \"HTTPS_PROXY\";\nconst HTTP_PROXY = \"HTTP_PROXY\";\nconst ALL_PROXY = \"ALL_PROXY\";\nconst NO_PROXY = \"NO_PROXY\";\n\n/**\n * The programmatic identifier of the proxyPolicy.\n */\nexport const proxyPolicyName = \"proxyPolicy\";\n\n/**\n * Stores the patterns specified in NO_PROXY environment variable.\n * @internal\n */\nexport const globalNoProxyList: string[] = [];\nlet noProxyListLoaded: boolean = false;\n\n/** A cache of whether a host should bypass the proxy. */\nconst globalBypassedMap: Map<string, boolean> = new Map();\n\nfunction getEnvironmentValue(name: string): string | undefined {\n if (process.env[name]) {\n return process.env[name];\n } else if (process.env[name.toLowerCase()]) {\n return process.env[name.toLowerCase()];\n }\n return undefined;\n}\n\nfunction loadEnvironmentProxyValue(): string | undefined {\n if (!process) {\n return undefined;\n }\n\n const httpsProxy = getEnvironmentValue(HTTPS_PROXY);\n const allProxy = getEnvironmentValue(ALL_PROXY);\n const httpProxy = getEnvironmentValue(HTTP_PROXY);\n\n return httpsProxy || allProxy || httpProxy;\n}\n\n/**\n * Check whether the host of a given `uri` matches any pattern in the no proxy list.\n * If there's a match, any request sent to the same host shouldn't have the proxy settings set.\n * This implementation is a port of https://github.com/Azure/azure-sdk-for-net/blob/8cca811371159e527159c7eb65602477898683e2/sdk/core/Azure.Core/src/Pipeline/Internal/HttpEnvironmentProxy.cs#L210\n */\nfunction isBypassed(\n uri: string,\n noProxyList: string[],\n bypassedMap?: Map<string, boolean>,\n): boolean | undefined {\n if (noProxyList.length === 0) {\n return false;\n }\n const host = new URL(uri).hostname;\n if (bypassedMap?.has(host)) {\n return bypassedMap.get(host);\n }\n let isBypassedFlag = false;\n for (const pattern of noProxyList) {\n if (pattern[0] === \".\") {\n // This should match either domain it self or any subdomain or host\n // .foo.com will match foo.com it self or *.foo.com\n if (host.endsWith(pattern)) {\n isBypassedFlag = true;\n } else {\n if (host.length === pattern.length - 1 && host === pattern.slice(1)) {\n isBypassedFlag = true;\n }\n }\n } else {\n if (host === pattern) {\n isBypassedFlag = true;\n }\n }\n }\n bypassedMap?.set(host, isBypassedFlag);\n return isBypassedFlag;\n}\n\nexport function loadNoProxy(): string[] {\n const noProxy = getEnvironmentValue(NO_PROXY);\n noProxyListLoaded = true;\n if (noProxy) {\n return noProxy\n .split(\",\")\n .map((item) => item.trim())\n .filter((item) => item.length);\n }\n\n return [];\n}\n\n/**\n * This method converts a proxy url into `ProxySettings` for use with ProxyPolicy.\n * If no argument is given, it attempts to parse a proxy URL from the environment\n * variables `HTTPS_PROXY` or `HTTP_PROXY`.\n * @param proxyUrl - The url of the proxy to use. May contain authentication information.\n */\nexport function getDefaultProxySettings(proxyUrl?: string): ProxySettings | undefined {\n if (!proxyUrl) {\n proxyUrl = loadEnvironmentProxyValue();\n if (!proxyUrl) {\n return undefined;\n }\n }\n\n const parsedUrl = new URL(proxyUrl);\n const schema = parsedUrl.protocol ? parsedUrl.protocol + \"//\" : \"\";\n return {\n host: schema + parsedUrl.hostname,\n port: Number.parseInt(parsedUrl.port || \"80\"),\n username: parsedUrl.username,\n password: parsedUrl.password,\n };\n}\n\nfunction setProxyAgentOnRequest(request: PipelineRequest, cachedAgents: CachedAgents): void {\n // Custom Agent should take precedence so if one is present\n // we should skip to avoid overwriting it.\n if (request.agent) {\n return;\n }\n\n const url = new URL(request.url);\n\n const isInsecure = url.protocol !== \"https:\";\n\n const proxySettings = request.proxySettings;\n if (proxySettings) {\n let parsedProxyUrl: URL;\n try {\n parsedProxyUrl = new URL(proxySettings.host);\n } catch (_error) {\n throw new Error(\n `Expecting a valid host string in proxy settings, but found \"${proxySettings.host}\".`,\n );\n }\n\n if (request.tlsSettings) {\n logger.warning(\n \"TLS settings are not supported in combination with custom Proxy, certificates provided to the client will be ignored.\",\n );\n }\n\n const headers = request.headers.toJSON();\n\n if (isInsecure) {\n if (!cachedAgents.httpProxyAgent) {\n cachedAgents.httpProxyAgent = new HttpProxyAgent(parsedProxyUrl, { headers });\n }\n request.agent = cachedAgents.httpProxyAgent;\n } else {\n if (!cachedAgents.httpsProxyAgent) {\n cachedAgents.httpsProxyAgent = new HttpsProxyAgent(parsedProxyUrl, { headers });\n }\n request.agent = cachedAgents.httpsProxyAgent;\n }\n }\n}\n\ninterface CachedAgents {\n httpsProxyAgent?: https.Agent;\n httpProxyAgent?: http.Agent;\n}\n\n/**\n * A policy that allows one to apply proxy settings to all requests.\n * If not passed static settings, they will be retrieved from the HTTPS_PROXY\n * or HTTP_PROXY environment variables.\n * @param proxySettings - ProxySettings to use on each request.\n * @param options - additional settings, for example, custom NO_PROXY patterns\n */\nexport function proxyPolicy(\n proxySettings = getDefaultProxySettings(),\n options?: {\n /** a list of patterns to override those loaded from NO_PROXY environment variable. */\n customNoProxyList?: string[];\n },\n): PipelinePolicy {\n if (!noProxyListLoaded) {\n globalNoProxyList.push(...loadNoProxy());\n }\n\n const cachedAgents: CachedAgents = {};\n\n return {\n name: proxyPolicyName,\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n if (\n !request.proxySettings &&\n !isBypassed(\n request.url,\n options?.customNoProxyList ?? globalNoProxyList,\n options?.customNoProxyList ? undefined : globalBypassedMap,\n )\n ) {\n request.proxySettings = proxySettings;\n }\n\n if (request.proxySettings) {\n setProxyAgentOnRequest(request, cachedAgents);\n }\n return next(request);\n },\n };\n}\n"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { PipelinePolicy } from "../pipeline.js";
|
|
2
|
+
/**
|
|
3
|
+
* The programmatic identifier of the redirectPolicy.
|
|
4
|
+
*/
|
|
5
|
+
export declare const redirectPolicyName = "redirectPolicy";
|
|
6
|
+
/**
|
|
7
|
+
* Options for how redirect responses are handled.
|
|
8
|
+
*/
|
|
9
|
+
export interface RedirectPolicyOptions {
|
|
10
|
+
/**
|
|
11
|
+
* The maximum number of times the redirect URL will be tried before
|
|
12
|
+
* failing. Defaults to 20.
|
|
13
|
+
*/
|
|
14
|
+
maxRetries?: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* A policy to follow Location headers from the server in order
|
|
18
|
+
* to support server-side redirection.
|
|
19
|
+
* In the browser, this policy is not used.
|
|
20
|
+
* @param options - Options to control policy behavior.
|
|
21
|
+
*/
|
|
22
|
+
export declare function redirectPolicy(options?: RedirectPolicyOptions): PipelinePolicy;
|
|
23
|
+
//# sourceMappingURL=redirectPolicy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redirectPolicy.d.ts","sourceRoot":"","sources":["../../../src/policies/redirectPolicy.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AAOnD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,qBAA0B,GAAG,cAAc,CASlF"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT license.
|
|
3
|
+
/**
|
|
4
|
+
* The programmatic identifier of the redirectPolicy.
|
|
5
|
+
*/
|
|
6
|
+
export const redirectPolicyName = "redirectPolicy";
|
|
7
|
+
/**
|
|
8
|
+
* Methods that are allowed to follow redirects 301 and 302
|
|
9
|
+
*/
|
|
10
|
+
const allowedRedirect = ["GET", "HEAD"];
|
|
11
|
+
/**
|
|
12
|
+
* A policy to follow Location headers from the server in order
|
|
13
|
+
* to support server-side redirection.
|
|
14
|
+
* In the browser, this policy is not used.
|
|
15
|
+
* @param options - Options to control policy behavior.
|
|
16
|
+
*/
|
|
17
|
+
export function redirectPolicy(options = {}) {
|
|
18
|
+
const { maxRetries = 20 } = options;
|
|
19
|
+
return {
|
|
20
|
+
name: redirectPolicyName,
|
|
21
|
+
async sendRequest(request, next) {
|
|
22
|
+
const response = await next(request);
|
|
23
|
+
return handleRedirect(next, response, maxRetries);
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
async function handleRedirect(next, response, maxRetries, currentRetries = 0) {
|
|
28
|
+
const { request, status, headers } = response;
|
|
29
|
+
const locationHeader = headers.get("location");
|
|
30
|
+
if (locationHeader &&
|
|
31
|
+
(status === 300 ||
|
|
32
|
+
(status === 301 && allowedRedirect.includes(request.method)) ||
|
|
33
|
+
(status === 302 && allowedRedirect.includes(request.method)) ||
|
|
34
|
+
(status === 303 && request.method === "POST") ||
|
|
35
|
+
status === 307) &&
|
|
36
|
+
currentRetries < maxRetries) {
|
|
37
|
+
const url = new URL(locationHeader, request.url);
|
|
38
|
+
request.url = url.toString();
|
|
39
|
+
// POST request with Status code 303 should be converted into a
|
|
40
|
+
// redirected GET request if the redirect url is present in the location header
|
|
41
|
+
if (status === 303) {
|
|
42
|
+
request.method = "GET";
|
|
43
|
+
request.headers.delete("Content-Length");
|
|
44
|
+
delete request.body;
|
|
45
|
+
}
|
|
46
|
+
request.headers.delete("Authorization");
|
|
47
|
+
const res = await next(request);
|
|
48
|
+
return handleRedirect(next, res, maxRetries, currentRetries + 1);
|
|
49
|
+
}
|
|
50
|
+
return response;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=redirectPolicy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redirectPolicy.js","sourceRoot":"","sources":["../../../src/policies/redirectPolicy.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAKlC;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAEnD;;GAEG;AACH,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAaxC;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,UAAiC,EAAE;IAChE,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IACpC,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,KAAK,CAAC,WAAW,CAAC,OAAwB,EAAE,IAAiB;YAC3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;YACrC,OAAO,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACpD,CAAC;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,IAAiB,EACjB,QAA0B,EAC1B,UAAkB,EAClB,iBAAyB,CAAC;IAE1B,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IAC9C,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC/C,IACE,cAAc;QACd,CAAC,MAAM,KAAK,GAAG;YACb,CAAC,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC5D,CAAC,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC5D,CAAC,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC;YAC7C,MAAM,KAAK,GAAG,CAAC;QACjB,cAAc,GAAG,UAAU,EAC3B,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAE7B,+DAA+D;QAC/D,+EAA+E;QAC/E,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;YACvB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YACzC,OAAO,OAAO,CAAC,IAAI,CAAC;QACtB,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAExC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { PipelineRequest, PipelineResponse, SendRequest } from \"../interfaces.js\";\nimport { PipelinePolicy } from \"../pipeline.js\";\n\n/**\n * The programmatic identifier of the redirectPolicy.\n */\nexport const redirectPolicyName = \"redirectPolicy\";\n\n/**\n * Methods that are allowed to follow redirects 301 and 302\n */\nconst allowedRedirect = [\"GET\", \"HEAD\"];\n\n/**\n * Options for how redirect responses are handled.\n */\nexport interface RedirectPolicyOptions {\n /**\n * The maximum number of times the redirect URL will be tried before\n * failing. Defaults to 20.\n */\n maxRetries?: number;\n}\n\n/**\n * A policy to follow Location headers from the server in order\n * to support server-side redirection.\n * In the browser, this policy is not used.\n * @param options - Options to control policy behavior.\n */\nexport function redirectPolicy(options: RedirectPolicyOptions = {}): PipelinePolicy {\n const { maxRetries = 20 } = options;\n return {\n name: redirectPolicyName,\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n const response = await next(request);\n return handleRedirect(next, response, maxRetries);\n },\n };\n}\n\nasync function handleRedirect(\n next: SendRequest,\n response: PipelineResponse,\n maxRetries: number,\n currentRetries: number = 0,\n): Promise<PipelineResponse> {\n const { request, status, headers } = response;\n const locationHeader = headers.get(\"location\");\n if (\n locationHeader &&\n (status === 300 ||\n (status === 301 && allowedRedirect.includes(request.method)) ||\n (status === 302 && allowedRedirect.includes(request.method)) ||\n (status === 303 && request.method === \"POST\") ||\n status === 307) &&\n currentRetries < maxRetries\n ) {\n const url = new URL(locationHeader, request.url);\n request.url = url.toString();\n\n // POST request with Status code 303 should be converted into a\n // redirected GET request if the redirect url is present in the location header\n if (status === 303) {\n request.method = \"GET\";\n request.headers.delete(\"Content-Length\");\n delete request.body;\n }\n\n request.headers.delete(\"Authorization\");\n\n const res = await next(request);\n return handleRedirect(next, res, maxRetries, currentRetries + 1);\n }\n\n return response;\n}\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { PipelinePolicy } from "../pipeline.js";
|
|
2
|
+
import { RetryStrategy } from "../retryStrategies/retryStrategy.js";
|
|
3
|
+
import { TypeSpecRuntimeLogger } from "../logger/logger.js";
|
|
4
|
+
/**
|
|
5
|
+
* Options to the {@link retryPolicy}
|
|
6
|
+
*/
|
|
7
|
+
export interface RetryPolicyOptions {
|
|
8
|
+
/**
|
|
9
|
+
* Maximum number of retries. If not specified, it will limit to 3 retries.
|
|
10
|
+
*/
|
|
11
|
+
maxRetries?: number;
|
|
12
|
+
/**
|
|
13
|
+
* Logger. If it's not provided, a default logger is used.
|
|
14
|
+
*/
|
|
15
|
+
logger?: TypeSpecRuntimeLogger;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* retryPolicy is a generic policy to enable retrying requests when certain conditions are met
|
|
19
|
+
*/
|
|
20
|
+
export declare function retryPolicy(strategies: RetryStrategy[], options?: RetryPolicyOptions): PipelinePolicy;
|
|
21
|
+
//# sourceMappingURL=retryPolicy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retryPolicy.d.ts","sourceRoot":"","sources":["../../../src/policies/retryPolicy.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAGpE,OAAO,EAAE,qBAAqB,EAAsB,MAAM,qBAAqB,CAAC;AAUhF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,qBAAqB,CAAC;CAChC;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,UAAU,EAAE,aAAa,EAAE,EAC3B,OAAO,GAAE,kBAA+D,GACvE,cAAc,CAmHhB"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT license.
|
|
3
|
+
import { delay } from "../util/helpers.js";
|
|
4
|
+
import { AbortError } from "../abort-controller/AbortError.js";
|
|
5
|
+
import { createClientLogger } from "../logger/logger.js";
|
|
6
|
+
import { DEFAULT_RETRY_POLICY_COUNT } from "../constants.js";
|
|
7
|
+
const retryPolicyLogger = createClientLogger("core-rest-pipeline retryPolicy");
|
|
8
|
+
/**
|
|
9
|
+
* The programmatic identifier of the retryPolicy.
|
|
10
|
+
*/
|
|
11
|
+
const retryPolicyName = "retryPolicy";
|
|
12
|
+
/**
|
|
13
|
+
* retryPolicy is a generic policy to enable retrying requests when certain conditions are met
|
|
14
|
+
*/
|
|
15
|
+
export function retryPolicy(strategies, options = { maxRetries: DEFAULT_RETRY_POLICY_COUNT }) {
|
|
16
|
+
const logger = options.logger || retryPolicyLogger;
|
|
17
|
+
return {
|
|
18
|
+
name: retryPolicyName,
|
|
19
|
+
async sendRequest(request, next) {
|
|
20
|
+
let response;
|
|
21
|
+
let responseError;
|
|
22
|
+
let retryCount = -1;
|
|
23
|
+
// eslint-disable-next-line no-constant-condition
|
|
24
|
+
retryRequest: while (true) {
|
|
25
|
+
retryCount += 1;
|
|
26
|
+
response = undefined;
|
|
27
|
+
responseError = undefined;
|
|
28
|
+
try {
|
|
29
|
+
logger.info(`Retry ${retryCount}: Attempting to send request`, request.requestId);
|
|
30
|
+
response = await next(request);
|
|
31
|
+
logger.info(`Retry ${retryCount}: Received a response from request`, request.requestId);
|
|
32
|
+
}
|
|
33
|
+
catch (e) {
|
|
34
|
+
logger.error(`Retry ${retryCount}: Received an error from request`, request.requestId);
|
|
35
|
+
// RestErrors are valid targets for the retry strategies.
|
|
36
|
+
// If none of the retry strategies can work with them, they will be thrown later in this policy.
|
|
37
|
+
// If the received error is not a RestError, it is immediately thrown.
|
|
38
|
+
responseError = e;
|
|
39
|
+
if (!e || responseError.name !== "RestError") {
|
|
40
|
+
throw e;
|
|
41
|
+
}
|
|
42
|
+
response = responseError.response;
|
|
43
|
+
}
|
|
44
|
+
if (request.abortSignal?.aborted) {
|
|
45
|
+
logger.error(`Retry ${retryCount}: Request aborted.`);
|
|
46
|
+
const abortError = new AbortError();
|
|
47
|
+
throw abortError;
|
|
48
|
+
}
|
|
49
|
+
if (retryCount >= (options.maxRetries ?? DEFAULT_RETRY_POLICY_COUNT)) {
|
|
50
|
+
logger.info(`Retry ${retryCount}: Maximum retries reached. Returning the last received response, or throwing the last received error.`);
|
|
51
|
+
if (responseError) {
|
|
52
|
+
throw responseError;
|
|
53
|
+
}
|
|
54
|
+
else if (response) {
|
|
55
|
+
return response;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
throw new Error("Maximum retries reached with no response or error to throw");
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
logger.info(`Retry ${retryCount}: Processing ${strategies.length} retry strategies.`);
|
|
62
|
+
strategiesLoop: for (const strategy of strategies) {
|
|
63
|
+
const strategyLogger = strategy.logger || retryPolicyLogger;
|
|
64
|
+
strategyLogger.info(`Retry ${retryCount}: Processing retry strategy ${strategy.name}.`);
|
|
65
|
+
const modifiers = strategy.retry({
|
|
66
|
+
retryCount,
|
|
67
|
+
response,
|
|
68
|
+
responseError,
|
|
69
|
+
});
|
|
70
|
+
if (modifiers.skipStrategy) {
|
|
71
|
+
strategyLogger.info(`Retry ${retryCount}: Skipped.`);
|
|
72
|
+
continue strategiesLoop;
|
|
73
|
+
}
|
|
74
|
+
const { errorToThrow, retryAfterInMs, redirectTo } = modifiers;
|
|
75
|
+
if (errorToThrow) {
|
|
76
|
+
strategyLogger.error(`Retry ${retryCount}: Retry strategy ${strategy.name} throws error:`, errorToThrow);
|
|
77
|
+
throw errorToThrow;
|
|
78
|
+
}
|
|
79
|
+
if (retryAfterInMs || retryAfterInMs === 0) {
|
|
80
|
+
strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} retries after ${retryAfterInMs}`);
|
|
81
|
+
await delay(retryAfterInMs, undefined, { abortSignal: request.abortSignal });
|
|
82
|
+
continue retryRequest;
|
|
83
|
+
}
|
|
84
|
+
if (redirectTo) {
|
|
85
|
+
strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} redirects to ${redirectTo}`);
|
|
86
|
+
request.url = redirectTo;
|
|
87
|
+
continue retryRequest;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
if (responseError) {
|
|
91
|
+
logger.info(`None of the retry strategies could work with the received error. Throwing it.`);
|
|
92
|
+
throw responseError;
|
|
93
|
+
}
|
|
94
|
+
if (response) {
|
|
95
|
+
logger.info(`None of the retry strategies could work with the received response. Returning it.`);
|
|
96
|
+
return response;
|
|
97
|
+
}
|
|
98
|
+
// If all the retries skip and there's no response,
|
|
99
|
+
// we're still in the retry loop, so a new request will be sent
|
|
100
|
+
// until `maxRetries` is reached.
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=retryPolicy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retryPolicy.js","sourceRoot":"","sources":["../../../src/policies/retryPolicy.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { PipelineRequest, PipelineResponse, SendRequest } from \"../interfaces.js\";\nimport { PipelinePolicy } from \"../pipeline.js\";\nimport { delay } from \"../util/helpers.js\";\nimport { RetryStrategy } from \"../retryStrategies/retryStrategy.js\";\nimport { RestError } from \"../restError.js\";\nimport { AbortError } from \"../abort-controller/AbortError.js\";\nimport { TypeSpecRuntimeLogger, createClientLogger } from \"../logger/logger.js\";\nimport { DEFAULT_RETRY_POLICY_COUNT } from \"../constants.js\";\n\nconst retryPolicyLogger = createClientLogger(\"core-rest-pipeline retryPolicy\");\n\n/**\n * The programmatic identifier of the retryPolicy.\n */\nconst retryPolicyName = \"retryPolicy\";\n\n/**\n * Options to the {@link retryPolicy}\n */\nexport interface RetryPolicyOptions {\n /**\n * Maximum number of retries. If not specified, it will limit to 3 retries.\n */\n maxRetries?: number;\n /**\n * Logger. If it's not provided, a default logger is used.\n */\n logger?: TypeSpecRuntimeLogger;\n}\n\n/**\n * retryPolicy is a generic policy to enable retrying requests when certain conditions are met\n */\nexport function retryPolicy(\n strategies: RetryStrategy[],\n options: RetryPolicyOptions = { maxRetries: DEFAULT_RETRY_POLICY_COUNT },\n): PipelinePolicy {\n const logger = options.logger || retryPolicyLogger;\n return {\n name: retryPolicyName,\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n let response: PipelineResponse | undefined;\n let responseError: RestError | undefined;\n let retryCount = -1;\n\n // eslint-disable-next-line no-constant-condition\n retryRequest: while (true) {\n retryCount += 1;\n response = undefined;\n responseError = undefined;\n\n try {\n logger.info(`Retry ${retryCount}: Attempting to send request`, request.requestId);\n response = await next(request);\n logger.info(`Retry ${retryCount}: Received a response from request`, request.requestId);\n } catch (e: any) {\n logger.error(`Retry ${retryCount}: Received an error from request`, request.requestId);\n\n // RestErrors are valid targets for the retry strategies.\n // If none of the retry strategies can work with them, they will be thrown later in this policy.\n // If the received error is not a RestError, it is immediately thrown.\n responseError = e as RestError;\n if (!e || responseError.name !== \"RestError\") {\n throw e;\n }\n\n response = responseError.response;\n }\n\n if (request.abortSignal?.aborted) {\n logger.error(`Retry ${retryCount}: Request aborted.`);\n const abortError = new AbortError();\n throw abortError;\n }\n\n if (retryCount >= (options.maxRetries ?? DEFAULT_RETRY_POLICY_COUNT)) {\n logger.info(\n `Retry ${retryCount}: Maximum retries reached. Returning the last received response, or throwing the last received error.`,\n );\n if (responseError) {\n throw responseError;\n } else if (response) {\n return response;\n } else {\n throw new Error(\"Maximum retries reached with no response or error to throw\");\n }\n }\n\n logger.info(`Retry ${retryCount}: Processing ${strategies.length} retry strategies.`);\n\n strategiesLoop: for (const strategy of strategies) {\n const strategyLogger = strategy.logger || retryPolicyLogger;\n strategyLogger.info(`Retry ${retryCount}: Processing retry strategy ${strategy.name}.`);\n\n const modifiers = strategy.retry({\n retryCount,\n response,\n responseError,\n });\n\n if (modifiers.skipStrategy) {\n strategyLogger.info(`Retry ${retryCount}: Skipped.`);\n continue strategiesLoop;\n }\n\n const { errorToThrow, retryAfterInMs, redirectTo } = modifiers;\n\n if (errorToThrow) {\n strategyLogger.error(\n `Retry ${retryCount}: Retry strategy ${strategy.name} throws error:`,\n errorToThrow,\n );\n throw errorToThrow;\n }\n\n if (retryAfterInMs || retryAfterInMs === 0) {\n strategyLogger.info(\n `Retry ${retryCount}: Retry strategy ${strategy.name} retries after ${retryAfterInMs}`,\n );\n await delay(retryAfterInMs, undefined, { abortSignal: request.abortSignal });\n continue retryRequest;\n }\n\n if (redirectTo) {\n strategyLogger.info(\n `Retry ${retryCount}: Retry strategy ${strategy.name} redirects to ${redirectTo}`,\n );\n request.url = redirectTo;\n continue retryRequest;\n }\n }\n\n if (responseError) {\n logger.info(\n `None of the retry strategies could work with the received error. Throwing it.`,\n );\n throw responseError;\n }\n if (response) {\n logger.info(\n `None of the retry strategies could work with the received response. Returning it.`,\n );\n return response;\n }\n\n // If all the retries skip and there's no response,\n // we're still in the retry loop, so a new request will be sent\n // until `maxRetries` is reached.\n }\n },\n };\n}\n"]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { PipelinePolicy } from "../pipeline.js";
|
|
2
|
+
/**
|
|
3
|
+
* Name of the {@link systemErrorRetryPolicy}
|
|
4
|
+
*/
|
|
5
|
+
export declare const systemErrorRetryPolicyName = "systemErrorRetryPolicy";
|
|
6
|
+
/**
|
|
7
|
+
* Options that control how to retry failed requests.
|
|
8
|
+
*/
|
|
9
|
+
export interface SystemErrorRetryPolicyOptions {
|
|
10
|
+
/**
|
|
11
|
+
* The maximum number of retry attempts. Defaults to 3.
|
|
12
|
+
*/
|
|
13
|
+
maxRetries?: number;
|
|
14
|
+
/**
|
|
15
|
+
* The amount of delay in milliseconds between retry attempts. Defaults to 1000
|
|
16
|
+
* (1 second.) The delay increases exponentially with each retry up to a maximum
|
|
17
|
+
* specified by maxRetryDelayInMs.
|
|
18
|
+
*/
|
|
19
|
+
retryDelayInMs?: number;
|
|
20
|
+
/**
|
|
21
|
+
* The maximum delay in milliseconds allowed before retrying an operation. Defaults
|
|
22
|
+
* to 64000 (64 seconds).
|
|
23
|
+
*/
|
|
24
|
+
maxRetryDelayInMs?: number;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* A retry policy that specifically seeks to handle errors in the
|
|
28
|
+
* underlying transport layer (e.g. DNS lookup failures) rather than
|
|
29
|
+
* retryable error codes from the server itself.
|
|
30
|
+
* @param options - Options that customize the policy.
|
|
31
|
+
*/
|
|
32
|
+
export declare function systemErrorRetryPolicy(options?: SystemErrorRetryPolicyOptions): PipelinePolicy;
|
|
33
|
+
//# sourceMappingURL=systemErrorRetryPolicy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"systemErrorRetryPolicy.d.ts","sourceRoot":"","sources":["../../../src/policies/systemErrorRetryPolicy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKhD;;GAEG;AACH,eAAO,MAAM,0BAA0B,2BAA2B,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,GAAE,6BAAkC,GAC1C,cAAc,CAehB"}
|