@typespec/ts-http-runtime 0.3.5-alpha.20260311.2 → 0.3.6
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/client/clientHelpers.js +1 -1
- package/dist/browser/client/clientHelpers.js.map +1 -1
- package/dist/browser/client/common.d.ts +3 -2
- package/dist/browser/client/common.js.map +1 -1
- package/dist/browser/client/getClient.js +1 -1
- package/dist/browser/client/getClient.js.map +1 -1
- package/dist/browser/client/multipart.js +1 -1
- package/dist/browser/client/multipart.js.map +1 -1
- package/dist/browser/client/restError.js +5 -4
- package/dist/browser/client/restError.js.map +1 -1
- package/dist/browser/client/sendRequest.js +25 -14
- package/dist/browser/client/sendRequest.js.map +1 -1
- package/dist/browser/client/urlHelpers.js +9 -3
- package/dist/browser/client/urlHelpers.js.map +1 -1
- package/dist/browser/constants.js +1 -1
- package/dist/browser/constants.js.map +1 -1
- package/dist/browser/createPipelineFromOptions.d.ts +1 -1
- package/dist/browser/createPipelineFromOptions.js +2 -21
- package/dist/browser/createPipelineFromOptions.js.map +1 -1
- package/dist/browser/{defaultHttpClient.d.ts → defaultHttpClient-browser.d.mts} +1 -1
- package/dist/browser/{defaultHttpClient.js → defaultHttpClient-browser.mjs} +1 -1
- package/dist/browser/defaultHttpClient-browser.mjs.map +1 -0
- package/dist/browser/encoding.d.ts +13 -0
- package/dist/browser/encoding.js +19 -0
- package/dist/browser/encoding.js.map +1 -0
- package/dist/{esm/util/checkEnvironment.d.ts → browser/env-browser.d.mts} +21 -1
- package/dist/{esm/util/checkEnvironment.js → browser/env-browser.mjs} +26 -12
- package/dist/browser/env-browser.mjs.map +1 -0
- package/dist/browser/fetchHttpClient.d.ts +5 -0
- package/dist/browser/fetchHttpClient.js.map +1 -1
- package/dist/browser/formData-web.d.mts +9 -0
- package/dist/browser/formData-web.mjs +12 -0
- package/dist/browser/formData-web.mjs.map +1 -0
- package/dist/browser/httpHeaders.js +11 -1
- package/dist/browser/httpHeaders.js.map +1 -1
- package/dist/browser/index.d.ts +3 -14
- package/dist/browser/index.js +2 -2
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/interfaces.d.ts +15 -14
- package/dist/browser/interfaces.js.map +1 -1
- package/dist/browser/logger/debug.js +3 -2
- package/dist/browser/logger/debug.js.map +1 -1
- package/dist/{react-native/logger/log.d.ts → browser/logger/log-web.d.mts} +1 -1
- package/dist/browser/logger/{log.js → log-web.mjs} +1 -1
- package/dist/browser/logger/log-web.mjs.map +1 -0
- package/dist/browser/logger/logger.js +2 -2
- package/dist/browser/logger/logger.js.map +1 -1
- package/dist/browser/pipelineRequest.js +1 -1
- package/dist/browser/pipelineRequest.js.map +1 -1
- package/dist/browser/policies/auth/basicAuthenticationPolicy.js +1 -1
- package/dist/browser/policies/auth/basicAuthenticationPolicy.js.map +1 -1
- package/dist/browser/policies/auth/checkInsecureConnection.js +3 -2
- package/dist/browser/policies/auth/checkInsecureConnection.js.map +1 -1
- package/dist/browser/policies/{decompressResponsePolicy.d.ts → decompressResponsePolicy-web.d.mts} +1 -1
- package/dist/browser/policies/{decompressResponsePolicy.js → decompressResponsePolicy-web.mjs} +1 -1
- package/dist/browser/policies/decompressResponsePolicy-web.mjs.map +1 -0
- package/dist/browser/policies/formDataPolicy.js +5 -12
- package/dist/browser/policies/formDataPolicy.js.map +1 -1
- package/dist/browser/policies/internal.d.ts +2 -2
- package/dist/browser/policies/internal.js +2 -2
- package/dist/browser/policies/internal.js.map +1 -1
- package/dist/browser/policies/multipartPolicy.js +7 -3
- package/dist/browser/policies/multipartPolicy.js.map +1 -1
- package/dist/browser/policies/platformPolicies-web.d.mts +10 -0
- package/dist/browser/policies/platformPolicies-web.mjs +12 -0
- package/dist/browser/policies/platformPolicies-web.mjs.map +1 -0
- package/dist/browser/policies/platformPolicies.d.ts +25 -0
- package/dist/browser/policies/platformPolicies.js +30 -0
- package/dist/browser/policies/platformPolicies.js.map +1 -0
- package/dist/browser/policies/proxyPolicy-web.d.mts +2 -0
- package/dist/{react-native/policies/proxyPolicy.js → browser/policies/proxyPolicy-web.mjs} +1 -1
- package/dist/browser/policies/proxyPolicy-web.mjs.map +1 -0
- package/dist/browser/policies/retryPolicy.js +4 -3
- package/dist/browser/policies/retryPolicy.js.map +1 -1
- package/dist/browser/restError.js +1 -1
- package/dist/browser/restError.js.map +1 -1
- package/dist/browser/types-browser.d.mts +19 -0
- package/dist/browser/{util/concat.js → types-browser.mjs} +2 -2
- package/dist/browser/types-browser.mjs.map +1 -0
- package/dist/browser/util/bytesEncoding-web.d.mts +2 -0
- package/dist/{react-native/util/bytesEncoding.js → browser/util/bytesEncoding-web.mjs} +1 -1
- package/dist/browser/util/bytesEncoding-web.mjs.map +1 -0
- package/dist/browser/util/bytesEncoding.common.d.ts +4 -4
- package/dist/browser/util/bytesEncoding.common.js +3 -4
- package/dist/browser/util/bytesEncoding.common.js.map +1 -1
- package/dist/browser/util/concat-browser.d.mts +16 -0
- package/dist/{esm/util/concat.common.js → browser/util/concat-browser.mjs} +4 -11
- package/dist/browser/util/concat-browser.mjs.map +1 -0
- package/dist/browser/util/inspect-web.d.mts +2 -0
- package/dist/{react-native/util/inspect.js → browser/util/inspect-web.mjs} +1 -1
- package/dist/browser/util/inspect-web.mjs.map +1 -0
- package/dist/browser/util/internal.d.ts +4 -4
- package/dist/browser/util/internal.js +4 -4
- package/dist/browser/util/internal.js.map +1 -1
- package/dist/browser/util/sanitizer.js +3 -3
- package/dist/browser/util/sanitizer.js.map +1 -1
- package/dist/browser/util/sha256-web.d.mts +2 -0
- package/dist/{react-native/util/sha256.js → browser/util/sha256-web.mjs} +1 -1
- package/dist/browser/util/sha256-web.mjs.map +1 -0
- package/dist/browser/util/sha256.common.js +1 -1
- package/dist/browser/util/sha256.common.js.map +1 -1
- package/dist/browser/util/typeGuards-browser.d.mts +14 -0
- package/dist/browser/util/typeGuards-browser.mjs +26 -0
- package/dist/browser/util/typeGuards-browser.mjs.map +1 -0
- package/dist/browser/util/typeGuards.d.ts +5 -4
- package/dist/browser/util/typeGuards.js +3 -9
- package/dist/browser/util/typeGuards.js.map +1 -1
- package/dist/browser/util/userAgent.d.ts +2 -0
- package/dist/browser/util/userAgent.js +2 -1
- package/dist/browser/util/userAgent.js.map +1 -1
- package/dist/browser/util/userAgentPlatform-browser.d.mts +37 -0
- package/dist/browser/util/{userAgentPlatform.js → userAgentPlatform-browser.mjs} +10 -11
- package/dist/browser/util/userAgentPlatform-browser.mjs.map +1 -0
- package/dist/browser/util/{uuidUtils.d.ts → uuidUtils-browser.d.mts} +1 -1
- package/dist/browser/util/{uuidUtils.js → uuidUtils-browser.mjs} +1 -1
- package/dist/browser/util/uuidUtils-browser.mjs.map +1 -0
- package/dist/browser/util/uuidUtils.common.js +1 -1
- package/dist/browser/util/uuidUtils.common.js.map +1 -1
- package/dist/commonjs/abort-controller/AbortError.js +1 -0
- package/dist/commonjs/abort-controller/AbortError.js.map +1 -1
- package/dist/commonjs/auth/credentials.js +1 -0
- package/dist/commonjs/auth/credentials.js.map +1 -1
- package/dist/commonjs/auth/oauth2Flows.js +1 -0
- package/dist/commonjs/auth/oauth2Flows.js.map +1 -1
- package/dist/commonjs/auth/schemes.js +1 -0
- package/dist/commonjs/auth/schemes.js.map +1 -1
- package/dist/commonjs/client/apiVersionPolicy.js +1 -0
- package/dist/commonjs/client/apiVersionPolicy.js.map +1 -1
- package/dist/commonjs/client/clientHelpers.js +3 -2
- package/dist/commonjs/client/clientHelpers.js.map +3 -3
- package/dist/commonjs/client/common.d.ts +3 -2
- package/dist/commonjs/client/common.js +1 -0
- package/dist/commonjs/client/common.js.map +2 -2
- package/dist/commonjs/client/getClient.js +4 -3
- package/dist/commonjs/client/getClient.js.map +3 -3
- package/dist/commonjs/client/multipart.js +1 -0
- package/dist/commonjs/client/multipart.js.map +3 -3
- package/dist/commonjs/client/operationOptionHelpers.js +1 -0
- package/dist/commonjs/client/operationOptionHelpers.js.map +1 -1
- package/dist/commonjs/client/restError.js +6 -4
- package/dist/commonjs/client/restError.js.map +3 -3
- package/dist/commonjs/client/sendRequest.js +39 -10
- package/dist/commonjs/client/sendRequest.js.map +3 -3
- package/dist/commonjs/client/urlHelpers.js +7 -3
- package/dist/commonjs/client/urlHelpers.js.map +3 -3
- package/dist/commonjs/constants.js +2 -1
- package/dist/commonjs/constants.js.map +2 -2
- package/dist/commonjs/createPipelineFromOptions.d.ts +1 -1
- package/dist/commonjs/createPipelineFromOptions.js +3 -19
- package/dist/commonjs/createPipelineFromOptions.js.map +3 -3
- package/dist/commonjs/defaultHttpClient.js +1 -0
- package/dist/commonjs/defaultHttpClient.js.map +1 -1
- package/dist/{browser/util/checkEnvironment.d.ts → commonjs/env.d.ts} +21 -1
- package/dist/commonjs/env.js +67 -0
- package/dist/commonjs/env.js.map +7 -0
- package/dist/commonjs/formData.d.ts +10 -0
- package/dist/commonjs/{logger/log.common.js → formData.js} +18 -18
- package/dist/commonjs/formData.js.map +7 -0
- package/dist/commonjs/httpHeaders.js +5 -1
- package/dist/commonjs/httpHeaders.js.map +3 -3
- package/dist/commonjs/index.d.ts +1 -12
- package/dist/commonjs/index.js +3 -2
- package/dist/commonjs/index.js.map +3 -3
- package/dist/commonjs/interfaces.d.ts +15 -14
- package/dist/commonjs/interfaces.js +1 -0
- package/dist/commonjs/interfaces.js.map +2 -2
- package/dist/commonjs/log.js +1 -0
- package/dist/commonjs/log.js.map +1 -1
- package/dist/commonjs/logger/debug.js +3 -1
- package/dist/commonjs/logger/debug.js.map +3 -3
- package/dist/commonjs/logger/internal.js +1 -0
- package/dist/commonjs/logger/internal.js.map +1 -1
- package/dist/commonjs/logger/log.js +1 -0
- package/dist/commonjs/logger/log.js.map +1 -1
- package/dist/commonjs/logger/logger.js +3 -1
- package/dist/commonjs/logger/logger.js.map +3 -3
- package/dist/commonjs/nodeHttpClient.js +4 -1
- package/dist/commonjs/nodeHttpClient.js.map +3 -3
- package/dist/commonjs/pipeline.js +1 -0
- package/dist/commonjs/pipeline.js.map +1 -1
- package/dist/commonjs/pipelineRequest.js +3 -2
- package/dist/commonjs/pipelineRequest.js.map +3 -3
- package/dist/commonjs/policies/agentPolicy.js +1 -0
- package/dist/commonjs/policies/agentPolicy.js.map +1 -1
- package/dist/commonjs/policies/auth/apiKeyAuthenticationPolicy.js +1 -0
- package/dist/commonjs/policies/auth/apiKeyAuthenticationPolicy.js.map +1 -1
- package/dist/commonjs/policies/auth/basicAuthenticationPolicy.js +1 -0
- package/dist/commonjs/policies/auth/basicAuthenticationPolicy.js.map +2 -2
- package/dist/commonjs/policies/auth/bearerAuthenticationPolicy.js +1 -0
- package/dist/commonjs/policies/auth/bearerAuthenticationPolicy.js.map +1 -1
- package/dist/commonjs/policies/auth/checkInsecureConnection.js +4 -2
- package/dist/commonjs/policies/auth/checkInsecureConnection.js.map +3 -3
- package/dist/commonjs/policies/auth/oauth2AuthenticationPolicy.js +1 -0
- package/dist/commonjs/policies/auth/oauth2AuthenticationPolicy.js.map +1 -1
- package/dist/commonjs/policies/decompressResponsePolicy.js +1 -0
- package/dist/commonjs/policies/decompressResponsePolicy.js.map +1 -1
- package/dist/commonjs/policies/defaultRetryPolicy.js +1 -0
- package/dist/commonjs/policies/defaultRetryPolicy.js.map +1 -1
- package/dist/commonjs/policies/exponentialRetryPolicy.js +1 -0
- package/dist/commonjs/policies/exponentialRetryPolicy.js.map +1 -1
- package/dist/commonjs/policies/formDataPolicy.js +5 -11
- package/dist/commonjs/policies/formDataPolicy.js.map +3 -3
- package/dist/commonjs/policies/internal.d.ts +1 -1
- package/dist/commonjs/policies/internal.js +8 -7
- package/dist/commonjs/policies/internal.js.map +3 -3
- package/dist/commonjs/policies/logPolicy.js +1 -0
- package/dist/commonjs/policies/logPolicy.js.map +1 -1
- package/dist/commonjs/policies/multipartPolicy.js +3 -2
- package/dist/commonjs/policies/multipartPolicy.js.map +3 -3
- package/dist/commonjs/policies/platformPolicies.d.ts +25 -0
- package/dist/commonjs/policies/platformPolicies.js +43 -0
- package/dist/commonjs/policies/platformPolicies.js.map +7 -0
- package/dist/commonjs/policies/proxyPolicy.js +3 -3
- package/dist/commonjs/policies/proxyPolicy.js.map +3 -3
- package/dist/commonjs/policies/redirectPolicy.js +1 -0
- package/dist/commonjs/policies/redirectPolicy.js.map +1 -1
- package/dist/commonjs/policies/retryPolicy.js +5 -3
- package/dist/commonjs/policies/retryPolicy.js.map +3 -3
- package/dist/commonjs/policies/systemErrorRetryPolicy.js +1 -0
- package/dist/commonjs/policies/systemErrorRetryPolicy.js.map +1 -1
- package/dist/commonjs/policies/throttlingRetryPolicy.js +1 -0
- package/dist/commonjs/policies/throttlingRetryPolicy.js.map +1 -1
- package/dist/commonjs/policies/tlsPolicy.js +1 -0
- package/dist/commonjs/policies/tlsPolicy.js.map +1 -1
- package/dist/commonjs/policies/userAgentPolicy.js +1 -0
- package/dist/commonjs/policies/userAgentPolicy.js.map +1 -1
- package/dist/commonjs/restError.js +1 -0
- package/dist/commonjs/restError.js.map +2 -2
- package/dist/commonjs/retryStrategies/exponentialRetryStrategy.js +1 -0
- package/dist/commonjs/retryStrategies/exponentialRetryStrategy.js.map +1 -1
- package/dist/commonjs/retryStrategies/retryStrategy.js +1 -0
- package/dist/commonjs/retryStrategies/retryStrategy.js.map +1 -1
- package/dist/commonjs/retryStrategies/throttlingRetryStrategy.js +1 -0
- package/dist/commonjs/retryStrategies/throttlingRetryStrategy.js.map +1 -1
- package/dist/commonjs/tsdoc-metadata.json +1 -1
- package/dist/commonjs/types.d.ts +19 -0
- package/dist/commonjs/types.js +16 -0
- package/dist/commonjs/types.js.map +7 -0
- package/dist/commonjs/util/bytesEncoding.js +1 -0
- package/dist/commonjs/util/bytesEncoding.js.map +1 -1
- package/dist/commonjs/util/concat.d.ts +1 -1
- package/dist/commonjs/util/concat.js +1 -0
- package/dist/commonjs/util/concat.js.map +3 -3
- package/dist/commonjs/util/delay.js +1 -0
- package/dist/commonjs/util/delay.js.map +1 -1
- package/dist/commonjs/util/error.js +1 -0
- package/dist/commonjs/util/error.js.map +1 -1
- package/dist/commonjs/util/helpers.js +1 -0
- package/dist/commonjs/util/helpers.js.map +1 -1
- package/dist/commonjs/util/inspect.js +1 -0
- package/dist/commonjs/util/inspect.js.map +1 -1
- package/dist/commonjs/util/internal.d.ts +1 -1
- package/dist/commonjs/util/internal.js +11 -10
- package/dist/commonjs/util/internal.js.map +3 -3
- package/dist/commonjs/util/object.js +1 -0
- package/dist/commonjs/util/object.js.map +1 -1
- package/dist/commonjs/util/random.js +1 -0
- package/dist/commonjs/util/random.js.map +1 -1
- package/dist/commonjs/util/sanitizer.js +4 -3
- package/dist/commonjs/util/sanitizer.js.map +3 -3
- package/dist/commonjs/util/sha256.js +1 -0
- package/dist/commonjs/util/sha256.js.map +1 -1
- package/dist/commonjs/util/typeGuards-node.d.ts +13 -0
- package/dist/commonjs/util/{inspect.common.js → typeGuards-node.js} +15 -6
- package/dist/commonjs/util/typeGuards-node.js.map +7 -0
- package/dist/commonjs/util/typeGuards.d.ts +5 -4
- package/dist/commonjs/util/typeGuards.js +6 -12
- package/dist/commonjs/util/typeGuards.js.map +3 -3
- package/dist/commonjs/util/userAgent.d.ts +2 -0
- package/dist/commonjs/util/userAgent.js +8 -5
- package/dist/commonjs/util/userAgent.js.map +3 -3
- package/dist/commonjs/util/userAgentPlatform.d.ts +8 -0
- package/dist/commonjs/util/userAgentPlatform.js +7 -7
- package/dist/commonjs/util/userAgentPlatform.js.map +3 -3
- package/dist/commonjs/util/uuidUtils.js +1 -0
- package/dist/commonjs/util/uuidUtils.js.map +1 -1
- package/dist/esm/client/clientHelpers.js.map +1 -1
- package/dist/esm/client/common.d.ts +3 -2
- package/dist/esm/client/common.js.map +1 -1
- package/dist/esm/client/getClient.js +1 -1
- package/dist/esm/client/getClient.js.map +1 -1
- package/dist/esm/client/multipart.js.map +1 -1
- package/dist/esm/client/restError.js +5 -4
- package/dist/esm/client/restError.js.map +1 -1
- package/dist/esm/client/sendRequest.js +25 -14
- package/dist/esm/client/sendRequest.js.map +1 -1
- package/dist/esm/client/urlHelpers.js +9 -3
- package/dist/esm/client/urlHelpers.js.map +1 -1
- package/dist/esm/constants.js +1 -1
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/createPipelineFromOptions.d.ts +1 -1
- package/dist/esm/createPipelineFromOptions.js +2 -21
- package/dist/esm/createPipelineFromOptions.js.map +1 -1
- package/dist/{react-native/util/checkEnvironment.d.ts → esm/env.d.ts} +21 -1
- package/dist/esm/env.js +48 -0
- package/dist/esm/env.js.map +1 -0
- package/dist/esm/formData.d.ts +10 -0
- package/dist/esm/formData.js +26 -0
- package/dist/esm/formData.js.map +1 -0
- package/dist/esm/httpHeaders.js +11 -1
- package/dist/esm/httpHeaders.js.map +1 -1
- package/dist/esm/index.d.ts +1 -12
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interfaces.d.ts +15 -14
- package/dist/esm/interfaces.js.map +1 -1
- package/dist/esm/logger/debug.js +2 -1
- package/dist/esm/logger/debug.js.map +1 -1
- package/dist/esm/logger/logger.js +2 -2
- package/dist/esm/logger/logger.js.map +1 -1
- package/dist/esm/nodeHttpClient.js +3 -1
- package/dist/esm/nodeHttpClient.js.map +1 -1
- package/dist/esm/pipelineRequest.js.map +1 -1
- package/dist/esm/policies/auth/basicAuthenticationPolicy.js.map +1 -1
- package/dist/esm/policies/auth/checkInsecureConnection.js +3 -2
- package/dist/esm/policies/auth/checkInsecureConnection.js.map +1 -1
- package/dist/esm/policies/formDataPolicy.js +4 -11
- package/dist/esm/policies/formDataPolicy.js.map +1 -1
- package/dist/esm/policies/internal.d.ts +1 -1
- package/dist/esm/policies/internal.js +1 -1
- package/dist/esm/policies/internal.js.map +1 -1
- package/dist/esm/policies/multipartPolicy.js +4 -0
- package/dist/esm/policies/multipartPolicy.js.map +1 -1
- package/dist/esm/policies/platformPolicies.d.ts +25 -0
- package/dist/esm/policies/platformPolicies.js +30 -0
- package/dist/esm/policies/platformPolicies.js.map +1 -0
- package/dist/esm/policies/proxyPolicy.js +2 -3
- package/dist/esm/policies/proxyPolicy.js.map +1 -1
- package/dist/esm/policies/retryPolicy.js +4 -3
- package/dist/esm/policies/retryPolicy.js.map +1 -1
- package/dist/esm/restError.js.map +1 -1
- package/dist/esm/types.d.ts +19 -0
- package/dist/esm/types.js +4 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/util/concat.d.ts +1 -1
- package/dist/esm/util/concat.js.map +1 -1
- package/dist/esm/util/internal.d.ts +1 -1
- package/dist/esm/util/internal.js +1 -1
- package/dist/esm/util/internal.js.map +1 -1
- package/dist/esm/util/sanitizer.js +3 -3
- package/dist/esm/util/sanitizer.js.map +1 -1
- package/dist/esm/util/typeGuards-node.d.ts +13 -0
- package/dist/esm/util/typeGuards-node.js +20 -0
- package/dist/esm/util/typeGuards-node.js.map +1 -0
- package/dist/esm/util/typeGuards.d.ts +5 -4
- package/dist/esm/util/typeGuards.js +3 -9
- package/dist/esm/util/typeGuards.js.map +1 -1
- package/dist/esm/util/userAgent.d.ts +2 -0
- package/dist/esm/util/userAgent.js +1 -0
- package/dist/esm/util/userAgent.js.map +1 -1
- package/dist/esm/util/userAgentPlatform.d.ts +8 -0
- package/dist/esm/util/userAgentPlatform.js +6 -7
- package/dist/esm/util/userAgentPlatform.js.map +1 -1
- package/dist/react-native/client/clientHelpers.js +1 -1
- package/dist/react-native/client/clientHelpers.js.map +1 -1
- package/dist/react-native/client/common.d.ts +3 -2
- package/dist/react-native/client/common.js.map +1 -1
- package/dist/react-native/client/getClient.js +1 -1
- package/dist/react-native/client/getClient.js.map +1 -1
- package/dist/react-native/client/multipart.js +1 -1
- package/dist/react-native/client/multipart.js.map +1 -1
- package/dist/react-native/client/restError.js +5 -4
- package/dist/react-native/client/restError.js.map +1 -1
- package/dist/react-native/client/sendRequest.js +25 -14
- package/dist/react-native/client/sendRequest.js.map +1 -1
- package/dist/react-native/client/urlHelpers.js +9 -3
- package/dist/react-native/client/urlHelpers.js.map +1 -1
- package/dist/react-native/constants.js +1 -1
- package/dist/react-native/constants.js.map +1 -1
- package/dist/react-native/createPipelineFromOptions.d.ts +1 -1
- package/dist/react-native/createPipelineFromOptions.js +2 -21
- package/dist/react-native/createPipelineFromOptions.js.map +1 -1
- package/dist/react-native/{defaultHttpClient.d.ts → defaultHttpClient-react-native.d.mts} +1 -1
- package/dist/react-native/{defaultHttpClient.js → defaultHttpClient-react-native.mjs} +1 -1
- package/dist/react-native/defaultHttpClient-react-native.mjs.map +1 -0
- package/dist/react-native/encoding-react-native.d.mts +21 -0
- package/dist/react-native/encoding-react-native.mjs +25 -0
- package/dist/react-native/encoding-react-native.mjs.map +1 -0
- package/dist/{commonjs/util/checkEnvironment.d.ts → react-native/env-react-native.d.mts} +21 -1
- package/dist/react-native/env-react-native.mjs +50 -0
- package/dist/react-native/env-react-native.mjs.map +1 -0
- package/dist/react-native/formData-web.d.mts +9 -0
- package/dist/react-native/formData-web.mjs +12 -0
- package/dist/react-native/formData-web.mjs.map +1 -0
- package/dist/react-native/httpHeaders.js +11 -1
- package/dist/react-native/httpHeaders.js.map +1 -1
- package/dist/react-native/index.d.ts +3 -14
- package/dist/react-native/index.js +2 -2
- package/dist/react-native/index.js.map +1 -1
- package/dist/react-native/interfaces.d.ts +15 -14
- package/dist/react-native/interfaces.js.map +1 -1
- package/dist/react-native/logger/debug.js +3 -2
- package/dist/react-native/logger/debug.js.map +1 -1
- package/dist/{browser/logger/log.d.ts → react-native/logger/log-web.d.mts} +1 -1
- package/dist/react-native/logger/{log.js → log-web.mjs} +1 -1
- package/dist/react-native/logger/log-web.mjs.map +1 -0
- package/dist/react-native/logger/logger.js +2 -2
- package/dist/react-native/logger/logger.js.map +1 -1
- package/dist/react-native/pipelineRequest.js +1 -1
- package/dist/react-native/pipelineRequest.js.map +1 -1
- package/dist/react-native/policies/auth/basicAuthenticationPolicy.js +1 -1
- package/dist/react-native/policies/auth/basicAuthenticationPolicy.js.map +1 -1
- package/dist/react-native/policies/auth/checkInsecureConnection.js +3 -2
- package/dist/react-native/policies/auth/checkInsecureConnection.js.map +1 -1
- package/dist/react-native/policies/decompressResponsePolicy-web.d.mts +8 -0
- package/dist/react-native/policies/decompressResponsePolicy-web.mjs +11 -0
- package/dist/react-native/policies/decompressResponsePolicy-web.mjs.map +1 -0
- package/dist/react-native/policies/formDataPolicy.js +5 -12
- package/dist/react-native/policies/formDataPolicy.js.map +1 -1
- package/dist/react-native/policies/internal.d.ts +2 -2
- package/dist/react-native/policies/internal.js +2 -2
- package/dist/react-native/policies/internal.js.map +1 -1
- package/dist/react-native/policies/multipartPolicy.js +7 -3
- package/dist/react-native/policies/multipartPolicy.js.map +1 -1
- package/dist/react-native/policies/platformPolicies-web.d.mts +10 -0
- package/dist/react-native/policies/platformPolicies-web.mjs +12 -0
- package/dist/react-native/policies/platformPolicies-web.mjs.map +1 -0
- package/dist/react-native/policies/platformPolicies.d.ts +25 -0
- package/dist/react-native/policies/platformPolicies.js +30 -0
- package/dist/react-native/policies/platformPolicies.js.map +1 -0
- package/dist/react-native/policies/proxyPolicy-web.d.mts +2 -0
- package/dist/{browser/policies/proxyPolicy.js → react-native/policies/proxyPolicy-web.mjs} +1 -1
- package/dist/react-native/policies/proxyPolicy-web.mjs.map +1 -0
- package/dist/react-native/policies/retryPolicy.js +4 -3
- package/dist/react-native/policies/retryPolicy.js.map +1 -1
- package/dist/react-native/restError.js +1 -1
- package/dist/react-native/restError.js.map +1 -1
- package/dist/react-native/types-react-native.d.mts +19 -0
- package/dist/react-native/types-react-native.mjs +4 -0
- package/dist/react-native/types-react-native.mjs.map +1 -0
- package/dist/react-native/util/bytesEncoding-web.d.mts +2 -0
- package/dist/{browser/util/bytesEncoding.js → react-native/util/bytesEncoding-web.mjs} +1 -1
- package/dist/react-native/util/bytesEncoding-web.mjs.map +1 -0
- package/dist/react-native/util/bytesEncoding.common.d.ts +4 -4
- package/dist/react-native/util/bytesEncoding.common.js +3 -4
- package/dist/react-native/util/bytesEncoding.common.js.map +1 -1
- package/dist/react-native/util/concat-react-native.d.mts +42 -0
- package/dist/react-native/util/concat-react-native.mjs +51 -0
- package/dist/react-native/util/concat-react-native.mjs.map +1 -0
- package/dist/react-native/util/inspect-web.d.mts +2 -0
- package/dist/{browser/util/inspect.js → react-native/util/inspect-web.mjs} +1 -1
- package/dist/react-native/util/inspect-web.mjs.map +1 -0
- package/dist/react-native/util/internal.d.ts +4 -4
- package/dist/react-native/util/internal.js +4 -4
- package/dist/react-native/util/internal.js.map +1 -1
- package/dist/react-native/util/sanitizer.js +3 -3
- package/dist/react-native/util/sanitizer.js.map +1 -1
- package/dist/react-native/util/sha256-web.d.mts +2 -0
- package/dist/{browser/util/sha256.js → react-native/util/sha256-web.mjs} +1 -1
- package/dist/react-native/util/sha256-web.mjs.map +1 -0
- package/dist/react-native/util/sha256.common.js +1 -1
- package/dist/react-native/util/sha256.common.js.map +1 -1
- package/dist/react-native/util/typeGuards-react-native.d.mts +16 -0
- package/dist/react-native/util/typeGuards-react-native.mjs +34 -0
- package/dist/react-native/util/typeGuards-react-native.mjs.map +1 -0
- package/dist/react-native/util/typeGuards.d.ts +5 -4
- package/dist/react-native/util/typeGuards.js +3 -9
- package/dist/react-native/util/typeGuards.js.map +1 -1
- package/dist/react-native/util/userAgent.d.ts +2 -0
- package/dist/react-native/util/userAgent.js +2 -1
- package/dist/react-native/util/userAgent.js.map +1 -1
- package/dist/react-native/util/{userAgentPlatform.d.ts → userAgentPlatform-react-native.d.mts} +1 -1
- package/dist/react-native/util/{userAgentPlatform.js → userAgentPlatform-react-native.mjs} +1 -1
- package/dist/react-native/util/userAgentPlatform-react-native.mjs.map +1 -0
- package/dist/react-native/util/uuidUtils-react-native.d.mts +2 -0
- package/dist/react-native/util/{uuidUtils.js → uuidUtils-react-native.mjs} +1 -1
- package/dist/react-native/util/uuidUtils-react-native.mjs.map +1 -0
- package/dist/react-native/util/uuidUtils.common.js +1 -1
- package/dist/react-native/util/uuidUtils.common.js.map +1 -1
- package/package.json +102 -14
- package/dist/browser/defaultHttpClient.js.map +0 -1
- package/dist/browser/logger/log.js.map +0 -1
- package/dist/browser/nodeHttpClient.d.ts +0 -9
- package/dist/browser/nodeHttpClient.js +0 -347
- package/dist/browser/nodeHttpClient.js.map +0 -1
- package/dist/browser/policies/decompressResponsePolicy.js.map +0 -1
- package/dist/browser/policies/proxyPolicy.d.ts +0 -2
- package/dist/browser/policies/proxyPolicy.js.map +0 -1
- package/dist/browser/util/bytesEncoding.d.ts +0 -2
- package/dist/browser/util/bytesEncoding.js.map +0 -1
- package/dist/browser/util/checkEnvironment.js +0 -41
- package/dist/browser/util/checkEnvironment.js.map +0 -1
- package/dist/browser/util/concat.common.d.ts +0 -17
- package/dist/browser/util/concat.common.js +0 -58
- package/dist/browser/util/concat.common.js.map +0 -1
- package/dist/browser/util/concat.d.ts +0 -2
- package/dist/browser/util/concat.js.map +0 -1
- package/dist/browser/util/inspect.d.ts +0 -2
- package/dist/browser/util/inspect.js.map +0 -1
- package/dist/browser/util/sha256.d.ts +0 -2
- package/dist/browser/util/sha256.js.map +0 -1
- package/dist/browser/util/userAgentPlatform.d.ts +0 -9
- package/dist/browser/util/userAgentPlatform.js.map +0 -1
- package/dist/browser/util/uuidUtils.js.map +0 -1
- package/dist/browser/xhrHttpClient.d.ts +0 -7
- package/dist/browser/xhrHttpClient.js +0 -174
- package/dist/browser/xhrHttpClient.js.map +0 -1
- package/dist/commonjs/fetchHttpClient.d.ts +0 -7
- package/dist/commonjs/fetchHttpClient.js +0 -237
- package/dist/commonjs/fetchHttpClient.js.map +0 -7
- package/dist/commonjs/logger/log.common.d.ts +0 -2
- package/dist/commonjs/logger/log.common.js.map +0 -7
- package/dist/commonjs/policies/proxyPolicy.common.d.ts +0 -19
- package/dist/commonjs/policies/proxyPolicy.common.js +0 -43
- package/dist/commonjs/policies/proxyPolicy.common.js.map +0 -7
- package/dist/commonjs/util/arrayBuffer.d.ts +0 -7
- package/dist/commonjs/util/arrayBuffer.js +0 -36
- package/dist/commonjs/util/arrayBuffer.js.map +0 -7
- package/dist/commonjs/util/bytesEncoding.common.d.ts +0 -61
- package/dist/commonjs/util/bytesEncoding.common.js +0 -105
- package/dist/commonjs/util/bytesEncoding.common.js.map +0 -7
- package/dist/commonjs/util/checkEnvironment.js +0 -45
- package/dist/commonjs/util/checkEnvironment.js.map +0 -7
- package/dist/commonjs/util/concat.common.d.ts +0 -17
- package/dist/commonjs/util/concat.common.js +0 -60
- package/dist/commonjs/util/concat.common.js.map +0 -7
- package/dist/commonjs/util/inspect.common.d.ts +0 -2
- package/dist/commonjs/util/inspect.common.js.map +0 -7
- package/dist/commonjs/util/sha256.common.d.ts +0 -14
- package/dist/commonjs/util/sha256.common.js +0 -69
- package/dist/commonjs/util/sha256.common.js.map +0 -7
- package/dist/commonjs/util/uuidUtils.common.d.ts +0 -13
- package/dist/commonjs/util/uuidUtils.common.js +0 -48
- package/dist/commonjs/util/uuidUtils.common.js.map +0 -7
- package/dist/commonjs/xhrHttpClient.d.ts +0 -7
- package/dist/commonjs/xhrHttpClient.js +0 -185
- package/dist/commonjs/xhrHttpClient.js.map +0 -7
- package/dist/esm/fetchHttpClient.d.ts +0 -7
- package/dist/esm/fetchHttpClient.js +0 -279
- package/dist/esm/fetchHttpClient.js.map +0 -1
- package/dist/esm/logger/log.common.d.ts +0 -2
- package/dist/esm/logger/log.common.js +0 -23
- package/dist/esm/logger/log.common.js.map +0 -1
- package/dist/esm/policies/proxyPolicy.common.d.ts +0 -19
- package/dist/esm/policies/proxyPolicy.common.js +0 -24
- package/dist/esm/policies/proxyPolicy.common.js.map +0 -1
- package/dist/esm/util/arrayBuffer.d.ts +0 -7
- package/dist/esm/util/arrayBuffer.js +0 -20
- package/dist/esm/util/arrayBuffer.js.map +0 -1
- package/dist/esm/util/bytesEncoding.common.d.ts +0 -61
- package/dist/esm/util/bytesEncoding.common.js +0 -110
- package/dist/esm/util/bytesEncoding.common.js.map +0 -1
- package/dist/esm/util/checkEnvironment.js.map +0 -1
- package/dist/esm/util/concat.common.d.ts +0 -17
- package/dist/esm/util/concat.common.js.map +0 -1
- package/dist/esm/util/inspect.common.d.ts +0 -2
- package/dist/esm/util/inspect.common.js +0 -4
- package/dist/esm/util/inspect.common.js.map +0 -1
- package/dist/esm/util/sha256.common.d.ts +0 -14
- package/dist/esm/util/sha256.common.js +0 -49
- package/dist/esm/util/sha256.common.js.map +0 -1
- package/dist/esm/util/uuidUtils.common.d.ts +0 -13
- package/dist/esm/util/uuidUtils.common.js +0 -40
- package/dist/esm/util/uuidUtils.common.js.map +0 -1
- package/dist/esm/xhrHttpClient.d.ts +0 -7
- package/dist/esm/xhrHttpClient.js +0 -174
- package/dist/esm/xhrHttpClient.js.map +0 -1
- package/dist/react-native/defaultHttpClient.js.map +0 -1
- package/dist/react-native/fetchHttpClient.d.ts +0 -7
- package/dist/react-native/fetchHttpClient.js +0 -279
- package/dist/react-native/fetchHttpClient.js.map +0 -1
- package/dist/react-native/logger/log.js.map +0 -1
- package/dist/react-native/nodeHttpClient.d.ts +0 -9
- package/dist/react-native/nodeHttpClient.js +0 -347
- package/dist/react-native/nodeHttpClient.js.map +0 -1
- package/dist/react-native/policies/decompressResponsePolicy.d.ts +0 -11
- package/dist/react-native/policies/decompressResponsePolicy.js +0 -23
- package/dist/react-native/policies/decompressResponsePolicy.js.map +0 -1
- package/dist/react-native/policies/proxyPolicy.d.ts +0 -2
- package/dist/react-native/policies/proxyPolicy.js.map +0 -1
- package/dist/react-native/util/bytesEncoding.d.ts +0 -2
- package/dist/react-native/util/bytesEncoding.js.map +0 -1
- package/dist/react-native/util/checkEnvironment.js +0 -41
- package/dist/react-native/util/checkEnvironment.js.map +0 -1
- package/dist/react-native/util/concat.common.d.ts +0 -17
- package/dist/react-native/util/concat.common.js +0 -58
- package/dist/react-native/util/concat.common.js.map +0 -1
- package/dist/react-native/util/concat.d.ts +0 -2
- package/dist/react-native/util/concat.js +0 -4
- package/dist/react-native/util/concat.js.map +0 -1
- package/dist/react-native/util/inspect.d.ts +0 -2
- package/dist/react-native/util/inspect.js.map +0 -1
- package/dist/react-native/util/sha256.d.ts +0 -2
- package/dist/react-native/util/sha256.js.map +0 -1
- package/dist/react-native/util/userAgentPlatform.js.map +0 -1
- package/dist/react-native/util/uuidUtils.d.ts +0 -2
- package/dist/react-native/util/uuidUtils.js.map +0 -1
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
3
|
function isQueryParameterWithOptions(x) {
|
|
4
|
+
if (typeof x !== "object" || x === null || !Object.hasOwn(x, "value")) {
|
|
5
|
+
return false;
|
|
6
|
+
}
|
|
4
7
|
const value = x.value;
|
|
5
|
-
return
|
|
8
|
+
return typeof value?.toString === "function";
|
|
6
9
|
}
|
|
7
10
|
/**
|
|
8
11
|
* Builds the request url, filling in query and path parameters
|
|
@@ -38,7 +41,10 @@ function appendPath(endpoint, pathToAppend) {
|
|
|
38
41
|
const combinedSearch = [endpointParts[1], pathParts[1].replaceAll("?", "&")]
|
|
39
42
|
.filter(Boolean)
|
|
40
43
|
.join("&");
|
|
41
|
-
|
|
44
|
+
// Replace consecutive forward slashes with a single forward slash, but only for the part right after the host in the endpoint.
|
|
45
|
+
// This is to maintain compatibility with old behavior for cases where the endpoint has been provided with extra forward slashes,
|
|
46
|
+
// while still allowing for intentional consecutive forward slashes in the path to be preserved.
|
|
47
|
+
const baseEndpoint = endpointParts[0].replace(/(^[^:]+:\/\/[^/]+)\/\/+/, "$1/");
|
|
42
48
|
const basePathToAppend = pathParts[0];
|
|
43
49
|
let combinedUrl = baseEndpoint;
|
|
44
50
|
if (!baseEndpoint.endsWith("/") && !basePathToAppend.startsWith("/") && basePathToAppend !== "") {
|
|
@@ -149,7 +155,7 @@ export function appendQueryParams(url, options = {}) {
|
|
|
149
155
|
newParamStrings.push(getQueryParamValue(key, options.skipUrlEncoding ?? false, style, item));
|
|
150
156
|
}
|
|
151
157
|
}
|
|
152
|
-
else if (typeof rawValue === "object") {
|
|
158
|
+
else if (rawValue !== null && typeof rawValue === "object") {
|
|
153
159
|
// For object explode, the name of the query parameter is ignored and we use the object key instead
|
|
154
160
|
for (const [actualKey, value] of Object.entries(rawValue)) {
|
|
155
161
|
newParamStrings.push(getQueryParamValue(actualKey, options.skipUrlEncoding ?? false, style, value));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urlHelpers.js","sourceRoot":"","sources":["../../../src/client/urlHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PathParameterWithOptions, RequestParameters } from \"./common.js\";\n\ntype QueryParameterStyle = \"form\" | \"spaceDelimited\" | \"pipeDelimited\";\n\n/**\n * An object that can be passed as a query parameter, allowing for additional options to be set relating to how the parameter is encoded.\n */\ninterface QueryParameterWithOptions {\n /**\n * The value of the query parameter.\n */\n value: unknown;\n\n /**\n * If set to true, value must be an array. Setting this option to true will cause the array to be encoded as multiple query parameters.\n * Setting it to false will cause the array values to be encoded as a single query parameter, with each value separated by a comma ','.\n *\n * For example, with `explode` set to true, a query parameter named \"foo\" with value [\"a\", \"b\", \"c\"] will be encoded as foo=a&foo=b&foo=c.\n * If `explode` was set to false, the same example would instead be encouded as foo=a,b,c.\n *\n * Defaults to false.\n */\n explode?: boolean;\n\n /**\n * Style for encoding arrays. Three possible values:\n * - \"form\": array values will be separated by a comma \",\" in the query parameter value.\n * - \"spaceDelimited\": array values will be separated by a space (\" \", url-encoded to \"%20\").\n * - \"pipeDelimited\": array values will be separated by a pipe (\"|\").\n *\n * Defaults to \"form\".\n */\n style?: QueryParameterStyle;\n}\n\nfunction isQueryParameterWithOptions(x: unknown): x is QueryParameterWithOptions {\n const value = (x as QueryParameterWithOptions).value as any;\n return (\n value !== undefined && value.toString !== undefined && typeof value.toString === \"function\"\n );\n}\n\n/**\n * Builds the request url, filling in query and path parameters\n * @param endpoint - base url which can be a template url\n * @param routePath - path to append to the endpoint\n * @param pathParameters - values of the path parameters\n * @param options - request parameters including query parameters\n * @returns a full url with path and query parameters\n */\nexport function buildRequestUrl(\n endpoint: string,\n routePath: string,\n pathParameters: (string | number | PathParameterWithOptions)[],\n options: RequestParameters = {},\n): string {\n if (routePath.startsWith(\"https://\") || routePath.startsWith(\"http://\")) {\n return routePath;\n }\n endpoint = buildBaseUrl(endpoint, options);\n // the route could be\n // 1. a path: \"container123/blob456\"\n // 2. a component string from template which starts with \"?\" and may contain more \"?\" after template is expanded,\n // e.g., \"?restype=container&comp=blobs?where=key177196556777405927%3D%27val1177196556777407626%27\"\n const updatedRoutePath = buildRoutePath(routePath, pathParameters, options);\n\n const requestUrl = appendQueryParams(appendPath(endpoint, updatedRoutePath), options);\n const url = new URL(requestUrl);\n\n return url.toString();\n}\n\nfunction appendPath(endpoint: string, pathToAppend: string): string {\n const endpointSearchStart = endpoint.indexOf(\"?\");\n const pathSearchStart = pathToAppend.indexOf(\"?\");\n const endpointParts =\n endpointSearchStart !== -1\n ? [endpoint.substring(0, endpointSearchStart), endpoint.substring(endpointSearchStart + 1)]\n : [endpoint, \"\"];\n const pathParts =\n pathSearchStart !== -1\n ? [pathToAppend.substring(0, pathSearchStart), pathToAppend.substring(pathSearchStart + 1)]\n : [pathToAppend, \"\"];\n\n const combinedSearch = [endpointParts[1], pathParts[1].replaceAll(\"?\", \"&\")]\n .filter(Boolean)\n .join(\"&\");\n const baseEndpoint = endpointParts[0];\n const basePathToAppend = pathParts[0];\n\n let combinedUrl = baseEndpoint;\n if (!baseEndpoint.endsWith(\"/\") && !basePathToAppend.startsWith(\"/\") && basePathToAppend !== \"\") {\n combinedUrl += `/${basePathToAppend}`;\n } else if (baseEndpoint.endsWith(\"/\") && basePathToAppend.startsWith(\"/\")) {\n combinedUrl += basePathToAppend.substring(1);\n } else {\n combinedUrl += basePathToAppend;\n }\n\n if (combinedSearch) {\n combinedUrl += `?${combinedSearch}`;\n }\n\n return combinedUrl;\n}\n\nfunction getQueryParamValue(\n key: string,\n allowReserved: boolean,\n style: QueryParameterStyle,\n param: any,\n): string {\n let separator: string;\n if (style === \"pipeDelimited\") {\n separator = \"|\";\n } else if (style === \"spaceDelimited\") {\n separator = \"%20\";\n } else {\n separator = \",\";\n }\n\n let paramValues: any[];\n if (Array.isArray(param)) {\n paramValues = param;\n } else if (typeof param === \"object\" && param.toString === Object.prototype.toString) {\n // If the parameter is an object without a custom toString implementation (e.g. a Date),\n // then we should deconstruct the object into an array [key1, value1, key2, value2, ...].\n paramValues = Object.entries(param).flat();\n } else {\n paramValues = [param];\n }\n\n const value = paramValues\n .map((p) => {\n if (p === null || p === undefined) {\n return \"\";\n }\n\n if (!p.toString || typeof p.toString !== \"function\") {\n throw new Error(`Query parameters must be able to be represented as string, ${key} can't`);\n }\n\n const rawValue = p.toISOString !== undefined ? p.toISOString() : p.toString();\n return allowReserved ? rawValue : encodeURIComponent(rawValue);\n })\n .join(separator);\n\n return `${allowReserved ? key : encodeURIComponent(key)}=${value}`;\n}\n\n/**\n * Parses a query string into a map of key/value pairs without decoding the values.\n * This avoids the issue where `URL.searchParams` would decode values, potentially\n * corrupting already-encoded values such as SAS signatures.\n */\nfunction simpleParseQueryParams(queryString: string): Map<string, string | string[]> {\n const result = new Map<string, string | string[]>();\n if (!queryString || queryString[0] !== \"?\") {\n return result;\n }\n\n // remove the leading ?\n queryString = queryString.slice(1);\n const pairs = queryString.split(\"&\");\n\n for (const pair of pairs) {\n const eqIndex = pair.indexOf(\"=\");\n const name = eqIndex === -1 ? pair : pair.substring(0, eqIndex);\n const value = eqIndex === -1 ? \"\" : pair.substring(eqIndex + 1);\n\n const existingValue = result.get(name);\n if (existingValue !== undefined) {\n if (Array.isArray(existingValue)) {\n existingValue.push(value);\n } else {\n result.set(name, [existingValue, value]);\n }\n } else {\n result.set(name, value);\n }\n }\n\n return result;\n}\n\n/** @internal */\nexport function appendQueryParams(url: string, options: RequestParameters = {}): string {\n if (!options.queryParameters) {\n return url;\n }\n const parsedUrl = new URL(url);\n const queryParams = options.queryParameters;\n\n // Parse existing query params from the URL manually to avoid re-encoding issues\n const existingParams = simpleParseQueryParams(parsedUrl.search);\n\n const newParamStrings: string[] = [];\n for (const key of Object.keys(queryParams)) {\n const param = queryParams[key] as any;\n if (param === undefined || param === null) {\n continue;\n }\n\n const hasMetadata = isQueryParameterWithOptions(param);\n const rawValue = hasMetadata ? param.value : param;\n const explode = hasMetadata ? (param.explode ?? false) : false;\n const style = hasMetadata && param.style ? param.style : \"form\";\n\n if (explode) {\n if (Array.isArray(rawValue)) {\n for (const item of rawValue) {\n newParamStrings.push(\n getQueryParamValue(key, options.skipUrlEncoding ?? false, style, item),\n );\n }\n } else if (typeof rawValue === \"object\") {\n // For object explode, the name of the query parameter is ignored and we use the object key instead\n for (const [actualKey, value] of Object.entries(rawValue)) {\n newParamStrings.push(\n getQueryParamValue(actualKey, options.skipUrlEncoding ?? false, style, value),\n );\n }\n } else {\n // Explode doesn't really make sense for primitives\n throw new Error(\"explode can only be set to true for objects and arrays\");\n }\n } else {\n newParamStrings.push(\n getQueryParamValue(key, options.skipUrlEncoding ?? false, style, rawValue),\n );\n }\n }\n\n // Merge new params into existing params, deduplicating values for the same key\n for (const paramString of newParamStrings) {\n const eqIndex = paramString.indexOf(\"=\");\n const name = paramString.substring(0, eqIndex);\n const value = paramString.substring(eqIndex + 1);\n\n const existingValue = existingParams.get(name);\n if (existingValue !== undefined) {\n if (Array.isArray(existingValue)) {\n if (!existingValue.includes(value)) {\n existingValue.push(value);\n }\n } else if (existingValue !== value) {\n existingParams.set(name, [existingValue, value]);\n }\n // if existingValue === value (single string match), no change needed\n } else {\n existingParams.set(name, value);\n }\n }\n\n // Reconstruct the search string manually to avoid URL re-encoding\n const searchPieces: string[] = [];\n for (const [name, value] of existingParams) {\n if (Array.isArray(value)) {\n for (const subValue of value) {\n searchPieces.push(`${name}=${subValue}`);\n }\n } else {\n searchPieces.push(`${name}=${value}`);\n }\n }\n\n parsedUrl.search = searchPieces.length ? `?${searchPieces.join(\"&\")}` : \"\";\n return parsedUrl.toString();\n}\n\nexport function buildBaseUrl(endpoint: string, options: RequestParameters): string {\n if (!options.pathParameters) {\n return endpoint;\n }\n const pathParams = options.pathParameters;\n for (const [key, param] of Object.entries(pathParams)) {\n if (param === undefined || param === null) {\n throw new Error(`Path parameters ${key} must not be undefined or null`);\n }\n if (!param.toString || typeof param.toString !== \"function\") {\n throw new Error(`Path parameters must be able to be represented as string, ${key} can't`);\n }\n let value = param.toISOString !== undefined ? param.toISOString() : String(param);\n if (!options.skipUrlEncoding) {\n value = encodeURIComponent(param);\n }\n endpoint = replaceAll(endpoint, `{${key}}`, value) ?? \"\";\n }\n return endpoint;\n}\n\nfunction buildRoutePath(\n routePath: string,\n pathParameters: (string | number | PathParameterWithOptions)[],\n options: RequestParameters = {},\n): string {\n for (const pathParam of pathParameters) {\n const allowReserved = typeof pathParam === \"object\" && (pathParam.allowReserved ?? false);\n let value = typeof pathParam === \"object\" ? pathParam.value : pathParam;\n\n if (!options.skipUrlEncoding && !allowReserved) {\n value = encodeURIComponent(value);\n }\n\n routePath = routePath.replace(/\\{[\\w-]+\\}/, String(value));\n }\n return routePath;\n}\n\n/**\n * Replace all of the instances of searchValue in value with the provided replaceValue.\n * @param value - The value to search and replace in.\n * @param searchValue - The value to search for in the value argument.\n * @param replaceValue - The value to replace searchValue with in the value argument.\n * @returns The value where each instance of searchValue was replaced with replacedValue.\n */\nexport function replaceAll(\n value: string | undefined,\n searchValue: string,\n replaceValue: string,\n): string | undefined {\n return !value || !searchValue ? value : value.split(searchValue).join(replaceValue || \"\");\n}\n"]}
|
|
1
|
+
{"version":3,"file":"urlHelpers.js","sourceRoot":"","sources":["../../../src/client/urlHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PathParameterWithOptions, RequestParameters } from \"./common.js\";\n\ntype QueryParameterStyle = \"form\" | \"spaceDelimited\" | \"pipeDelimited\";\n\n/**\n * An object that can be passed as a query parameter, allowing for additional options to be set relating to how the parameter is encoded.\n */\ninterface QueryParameterWithOptions {\n /**\n * The value of the query parameter.\n */\n value: unknown;\n\n /**\n * If set to true, value must be an array. Setting this option to true will cause the array to be encoded as multiple query parameters.\n * Setting it to false will cause the array values to be encoded as a single query parameter, with each value separated by a comma ','.\n *\n * For example, with `explode` set to true, a query parameter named \"foo\" with value [\"a\", \"b\", \"c\"] will be encoded as foo=a&foo=b&foo=c.\n * If `explode` was set to false, the same example would instead be encouded as foo=a,b,c.\n *\n * Defaults to false.\n */\n explode?: boolean;\n\n /**\n * Style for encoding arrays. Three possible values:\n * - \"form\": array values will be separated by a comma \",\" in the query parameter value.\n * - \"spaceDelimited\": array values will be separated by a space (\" \", url-encoded to \"%20\").\n * - \"pipeDelimited\": array values will be separated by a pipe (\"|\").\n *\n * Defaults to \"form\".\n */\n style?: QueryParameterStyle;\n}\n\nfunction isQueryParameterWithOptions(x: unknown): x is QueryParameterWithOptions {\n if (typeof x !== \"object\" || x === null || !Object.hasOwn(x, \"value\")) {\n return false;\n }\n const value = (x as QueryParameterWithOptions).value;\n return typeof value?.toString === \"function\";\n}\n\n/**\n * Builds the request url, filling in query and path parameters\n * @param endpoint - base url which can be a template url\n * @param routePath - path to append to the endpoint\n * @param pathParameters - values of the path parameters\n * @param options - request parameters including query parameters\n * @returns a full url with path and query parameters\n */\nexport function buildRequestUrl(\n endpoint: string,\n routePath: string,\n pathParameters: (string | number | PathParameterWithOptions)[],\n options: RequestParameters = {},\n): string {\n if (routePath.startsWith(\"https://\") || routePath.startsWith(\"http://\")) {\n return routePath;\n }\n endpoint = buildBaseUrl(endpoint, options);\n // the route could be\n // 1. a path: \"container123/blob456\"\n // 2. a component string from template which starts with \"?\" and may contain more \"?\" after template is expanded,\n // e.g., \"?restype=container&comp=blobs?where=key177196556777405927%3D%27val1177196556777407626%27\"\n const updatedRoutePath = buildRoutePath(routePath, pathParameters, options);\n\n const requestUrl = appendQueryParams(appendPath(endpoint, updatedRoutePath), options);\n const url = new URL(requestUrl);\n\n return url.toString();\n}\n\nfunction appendPath(endpoint: string, pathToAppend: string): string {\n const endpointSearchStart = endpoint.indexOf(\"?\");\n const pathSearchStart = pathToAppend.indexOf(\"?\");\n const endpointParts =\n endpointSearchStart !== -1\n ? [endpoint.substring(0, endpointSearchStart), endpoint.substring(endpointSearchStart + 1)]\n : [endpoint, \"\"];\n const pathParts =\n pathSearchStart !== -1\n ? [pathToAppend.substring(0, pathSearchStart), pathToAppend.substring(pathSearchStart + 1)]\n : [pathToAppend, \"\"];\n\n const combinedSearch = [endpointParts[1], pathParts[1].replaceAll(\"?\", \"&\")]\n .filter(Boolean)\n .join(\"&\");\n // Replace consecutive forward slashes with a single forward slash, but only for the part right after the host in the endpoint.\n // This is to maintain compatibility with old behavior for cases where the endpoint has been provided with extra forward slashes,\n // while still allowing for intentional consecutive forward slashes in the path to be preserved.\n const baseEndpoint = endpointParts[0].replace(/(^[^:]+:\\/\\/[^/]+)\\/\\/+/, \"$1/\");\n const basePathToAppend = pathParts[0];\n let combinedUrl = baseEndpoint;\n if (!baseEndpoint.endsWith(\"/\") && !basePathToAppend.startsWith(\"/\") && basePathToAppend !== \"\") {\n combinedUrl += `/${basePathToAppend}`;\n } else if (baseEndpoint.endsWith(\"/\") && basePathToAppend.startsWith(\"/\")) {\n combinedUrl += basePathToAppend.substring(1);\n } else {\n combinedUrl += basePathToAppend;\n }\n\n if (combinedSearch) {\n combinedUrl += `?${combinedSearch}`;\n }\n\n return combinedUrl;\n}\n\nfunction getQueryParamValue(\n key: string,\n allowReserved: boolean,\n style: QueryParameterStyle,\n param: any,\n): string {\n let separator: string;\n if (style === \"pipeDelimited\") {\n separator = \"|\";\n } else if (style === \"spaceDelimited\") {\n separator = \"%20\";\n } else {\n separator = \",\";\n }\n\n let paramValues: any[];\n if (Array.isArray(param)) {\n paramValues = param;\n } else if (typeof param === \"object\" && param.toString === Object.prototype.toString) {\n // If the parameter is an object without a custom toString implementation (e.g. a Date),\n // then we should deconstruct the object into an array [key1, value1, key2, value2, ...].\n paramValues = Object.entries(param).flat();\n } else {\n paramValues = [param];\n }\n\n const value = paramValues\n .map((p) => {\n if (p === null || p === undefined) {\n return \"\";\n }\n\n if (!p.toString || typeof p.toString !== \"function\") {\n throw new Error(`Query parameters must be able to be represented as string, ${key} can't`);\n }\n\n const rawValue = p.toISOString !== undefined ? p.toISOString() : p.toString();\n return allowReserved ? rawValue : encodeURIComponent(rawValue);\n })\n .join(separator);\n\n return `${allowReserved ? key : encodeURIComponent(key)}=${value}`;\n}\n\n/**\n * Parses a query string into a map of key/value pairs without decoding the values.\n * This avoids the issue where `URL.searchParams` would decode values, potentially\n * corrupting already-encoded values such as SAS signatures.\n */\nfunction simpleParseQueryParams(queryString: string): Map<string, string | string[]> {\n const result = new Map<string, string | string[]>();\n if (!queryString || queryString[0] !== \"?\") {\n return result;\n }\n\n // remove the leading ?\n queryString = queryString.slice(1);\n const pairs = queryString.split(\"&\");\n\n for (const pair of pairs) {\n const eqIndex = pair.indexOf(\"=\");\n const name = eqIndex === -1 ? pair : pair.substring(0, eqIndex);\n const value = eqIndex === -1 ? \"\" : pair.substring(eqIndex + 1);\n\n const existingValue = result.get(name);\n if (existingValue !== undefined) {\n if (Array.isArray(existingValue)) {\n existingValue.push(value);\n } else {\n result.set(name, [existingValue, value]);\n }\n } else {\n result.set(name, value);\n }\n }\n\n return result;\n}\n\n/** @internal */\nexport function appendQueryParams(url: string, options: RequestParameters = {}): string {\n if (!options.queryParameters) {\n return url;\n }\n const parsedUrl = new URL(url);\n const queryParams = options.queryParameters;\n\n // Parse existing query params from the URL manually to avoid re-encoding issues\n const existingParams = simpleParseQueryParams(parsedUrl.search);\n\n const newParamStrings: string[] = [];\n for (const key of Object.keys(queryParams)) {\n const param = queryParams[key];\n if (param === undefined || param === null) {\n continue;\n }\n\n const hasMetadata = isQueryParameterWithOptions(param);\n const rawValue = hasMetadata ? param.value : param;\n const explode = hasMetadata ? (param.explode ?? false) : false;\n const style = hasMetadata && param.style ? param.style : \"form\";\n\n if (explode) {\n if (Array.isArray(rawValue)) {\n for (const item of rawValue) {\n newParamStrings.push(\n getQueryParamValue(key, options.skipUrlEncoding ?? false, style, item),\n );\n }\n } else if (rawValue !== null && typeof rawValue === \"object\") {\n // For object explode, the name of the query parameter is ignored and we use the object key instead\n for (const [actualKey, value] of Object.entries(rawValue)) {\n newParamStrings.push(\n getQueryParamValue(actualKey, options.skipUrlEncoding ?? false, style, value),\n );\n }\n } else {\n // Explode doesn't really make sense for primitives\n throw new Error(\"explode can only be set to true for objects and arrays\");\n }\n } else {\n newParamStrings.push(\n getQueryParamValue(key, options.skipUrlEncoding ?? false, style, rawValue),\n );\n }\n }\n\n // Merge new params into existing params, deduplicating values for the same key\n for (const paramString of newParamStrings) {\n const eqIndex = paramString.indexOf(\"=\");\n const name = paramString.substring(0, eqIndex);\n const value = paramString.substring(eqIndex + 1);\n\n const existingValue = existingParams.get(name);\n if (existingValue !== undefined) {\n if (Array.isArray(existingValue)) {\n if (!existingValue.includes(value)) {\n existingValue.push(value);\n }\n } else if (existingValue !== value) {\n existingParams.set(name, [existingValue, value]);\n }\n // if existingValue === value (single string match), no change needed\n } else {\n existingParams.set(name, value);\n }\n }\n\n // Reconstruct the search string manually to avoid URL re-encoding\n const searchPieces: string[] = [];\n for (const [name, value] of existingParams) {\n if (Array.isArray(value)) {\n for (const subValue of value) {\n searchPieces.push(`${name}=${subValue}`);\n }\n } else {\n searchPieces.push(`${name}=${value}`);\n }\n }\n\n parsedUrl.search = searchPieces.length ? `?${searchPieces.join(\"&\")}` : \"\";\n return parsedUrl.toString();\n}\n\nexport function buildBaseUrl(endpoint: string, options: RequestParameters): string {\n if (!options.pathParameters) {\n return endpoint;\n }\n const pathParams = options.pathParameters;\n for (const [key, param] of Object.entries(pathParams)) {\n if (param === undefined || param === null) {\n throw new Error(`Path parameters ${key} must not be undefined or null`);\n }\n if (!param.toString || typeof param.toString !== \"function\") {\n throw new Error(`Path parameters must be able to be represented as string, ${key} can't`);\n }\n let value = param.toISOString !== undefined ? param.toISOString() : String(param);\n if (!options.skipUrlEncoding) {\n value = encodeURIComponent(param);\n }\n endpoint = replaceAll(endpoint, `{${key}}`, value) ?? \"\";\n }\n\n return endpoint;\n}\n\nfunction buildRoutePath(\n routePath: string,\n pathParameters: (string | number | PathParameterWithOptions)[],\n options: RequestParameters = {},\n): string {\n for (const pathParam of pathParameters) {\n const allowReserved = typeof pathParam === \"object\" && (pathParam.allowReserved ?? false);\n let value = typeof pathParam === \"object\" ? pathParam.value : pathParam;\n\n if (!options.skipUrlEncoding && !allowReserved) {\n value = encodeURIComponent(value);\n }\n\n routePath = routePath.replace(/\\{[\\w-]+\\}/, String(value));\n }\n return routePath;\n}\n\n/**\n * Replace all of the instances of searchValue in value with the provided replaceValue.\n * @param value - The value to search and replace in.\n * @param searchValue - The value to search for in the value argument.\n * @param replaceValue - The value to replace searchValue with in the value argument.\n * @returns The value where each instance of searchValue was replaced with replacedValue.\n */\nexport function replaceAll(\n value: string | undefined,\n searchValue: string,\n replaceValue: string,\n): string | undefined {\n return !value || !searchValue ? value : value.split(searchValue).join(replaceValue || \"\");\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,MAAM,CAAC,MAAM,WAAW,GAAW,OAAO,CAAC;AAE3C,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport const SDK_VERSION: string = \"0.3.
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,MAAM,CAAC,MAAM,WAAW,GAAW,OAAO,CAAC;AAE3C,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport const SDK_VERSION: string = \"0.3.6\";\n\nexport const DEFAULT_RETRY_POLICY_COUNT = 3;\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type LogPolicyOptions } from "./policies/logPolicy.js";
|
|
2
2
|
import { type Pipeline } from "./pipeline.js";
|
|
3
3
|
import type { Agent, PipelineRetryOptions, ProxySettings, TlsSettings } from "./interfaces.js";
|
|
4
|
-
import {
|
|
4
|
+
import type { RedirectPolicyOptions } from "./policies/redirectPolicy.js";
|
|
5
5
|
import { type UserAgentPolicyOptions } from "./policies/userAgentPolicy.js";
|
|
6
6
|
/**
|
|
7
7
|
* Defines options that are used to configure the HTTP pipeline for
|
|
@@ -2,15 +2,10 @@
|
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
3
|
import { logPolicy } from "./policies/logPolicy.js";
|
|
4
4
|
import { createEmptyPipeline } from "./pipeline.js";
|
|
5
|
-
import { redirectPolicy } from "./policies/redirectPolicy.js";
|
|
6
5
|
import { userAgentPolicy } from "./policies/userAgentPolicy.js";
|
|
7
|
-
import { decompressResponsePolicy } from "./policies/decompressResponsePolicy.js";
|
|
8
6
|
import { defaultRetryPolicy } from "./policies/defaultRetryPolicy.js";
|
|
9
7
|
import { formDataPolicy } from "./policies/formDataPolicy.js";
|
|
10
|
-
import {
|
|
11
|
-
import { proxyPolicy } from "./policies/proxyPolicy.js";
|
|
12
|
-
import { agentPolicy } from "./policies/agentPolicy.js";
|
|
13
|
-
import { tlsPolicy } from "./policies/tlsPolicy.js";
|
|
8
|
+
import { addPlatformPolicies } from "./policies/platformPolicies-web.mjs";
|
|
14
9
|
import { multipartPolicy, multipartPolicyName } from "./policies/multipartPolicy.js";
|
|
15
10
|
/**
|
|
16
11
|
* Create a new pipeline with a default set of customizable policies.
|
|
@@ -18,16 +13,7 @@ import { multipartPolicy, multipartPolicyName } from "./policies/multipartPolicy
|
|
|
18
13
|
*/
|
|
19
14
|
export function createPipelineFromOptions(options) {
|
|
20
15
|
const pipeline = createEmptyPipeline();
|
|
21
|
-
|
|
22
|
-
if (options.agent) {
|
|
23
|
-
pipeline.addPolicy(agentPolicy(options.agent));
|
|
24
|
-
}
|
|
25
|
-
if (options.tlsOptions) {
|
|
26
|
-
pipeline.addPolicy(tlsPolicy(options.tlsOptions));
|
|
27
|
-
}
|
|
28
|
-
pipeline.addPolicy(proxyPolicy(options.proxyOptions));
|
|
29
|
-
pipeline.addPolicy(decompressResponsePolicy());
|
|
30
|
-
}
|
|
16
|
+
addPlatformPolicies(pipeline, options);
|
|
31
17
|
pipeline.addPolicy(formDataPolicy(), { beforePolicies: [multipartPolicyName] });
|
|
32
18
|
pipeline.addPolicy(userAgentPolicy(options.userAgentOptions));
|
|
33
19
|
// The multipart policy is added after policies with no phase, so that
|
|
@@ -35,11 +21,6 @@ export function createPipelineFromOptions(options) {
|
|
|
35
21
|
// properties (e.g., making the boundary constant in recorded tests).
|
|
36
22
|
pipeline.addPolicy(multipartPolicy(), { afterPhase: "Deserialize" });
|
|
37
23
|
pipeline.addPolicy(defaultRetryPolicy(options.retryOptions), { phase: "Retry" });
|
|
38
|
-
if (isNodeLike) {
|
|
39
|
-
// Both XHR and Fetch expect to handle redirects automatically,
|
|
40
|
-
// so only include this policy when we're in Node.
|
|
41
|
-
pipeline.addPolicy(redirectPolicy(options.redirectOptions), { afterPhase: "Retry" });
|
|
42
|
-
}
|
|
43
24
|
pipeline.addPolicy(logPolicy(options.loggingOptions), { afterPhase: "Sign" });
|
|
44
25
|
return pipeline;
|
|
45
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createPipelineFromOptions.js","sourceRoot":"","sources":["../../src/createPipelineFromOptions.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAyB,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAiB,mBAAmB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"createPipelineFromOptions.js","sourceRoot":"","sources":["../../src/createPipelineFromOptions.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAyB,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAiB,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGnE,OAAO,EAA+B,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AA4DrF;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAgC;IACxE,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IAEvC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEvC,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IAChF,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC9D,sEAAsE;IACtE,gEAAgE;IAChE,qEAAqE;IACrE,QAAQ,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;IACrE,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IACjF,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;IAE9E,OAAO,QAAQ,CAAC;AAClB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { type LogPolicyOptions, logPolicy } from \"./policies/logPolicy.js\";\nimport { type Pipeline, createEmptyPipeline } from \"./pipeline.js\";\nimport type { Agent, PipelineRetryOptions, ProxySettings, TlsSettings } from \"./interfaces.js\";\nimport type { RedirectPolicyOptions } from \"./policies/redirectPolicy.js\";\nimport { type UserAgentPolicyOptions, userAgentPolicy } from \"./policies/userAgentPolicy.js\";\nimport { defaultRetryPolicy } from \"./policies/defaultRetryPolicy.js\";\nimport { formDataPolicy } from \"./policies/formDataPolicy.js\";\nimport { addPlatformPolicies } from \"#platform/policies\";\nimport { multipartPolicy, multipartPolicyName } from \"./policies/multipartPolicy.js\";\n\n/**\n * Defines options that are used to configure the HTTP pipeline for\n * an SDK client.\n */\nexport interface PipelineOptions {\n /**\n * Options that control how to retry failed requests.\n */\n retryOptions?: PipelineRetryOptions;\n\n /**\n * Options to configure a proxy for outgoing requests.\n */\n proxyOptions?: ProxySettings;\n\n /** Options for configuring Agent instance for outgoing requests */\n agent?: Agent;\n\n /** Options for configuring TLS authentication */\n tlsOptions?: TlsSettings;\n\n /**\n * Options for how redirect responses are handled.\n */\n redirectOptions?: RedirectPolicyOptions;\n\n /**\n * Options for adding user agent details to outgoing requests.\n */\n userAgentOptions?: UserAgentPolicyOptions;\n\n /**\n * Options for setting common telemetry and tracing info to outgoing requests.\n */\n telemetryOptions?: TelemetryOptions;\n}\n\n/**\n * Defines options that are used to configure common telemetry and tracing info\n */\nexport interface TelemetryOptions {\n /**\n * The name of the header to pass the request ID to.\n */\n clientRequestIdHeaderName?: string;\n}\n\n/**\n * Defines options that are used to configure internal options of\n * the HTTP pipeline for an SDK client.\n */\nexport interface InternalPipelineOptions extends PipelineOptions {\n /**\n * Options to configure request/response logging.\n */\n loggingOptions?: LogPolicyOptions;\n}\n\n/**\n * Create a new pipeline with a default set of customizable policies.\n * @param options - Options to configure a custom pipeline.\n */\nexport function createPipelineFromOptions(options: InternalPipelineOptions): Pipeline {\n const pipeline = createEmptyPipeline();\n\n addPlatformPolicies(pipeline, options);\n\n pipeline.addPolicy(formDataPolicy(), { beforePolicies: [multipartPolicyName] });\n pipeline.addPolicy(userAgentPolicy(options.userAgentOptions));\n // The multipart policy is added after policies with no phase, so that\n // policies can be added between it and formDataPolicy to modify\n // properties (e.g., making the boundary constant in recorded tests).\n pipeline.addPolicy(multipartPolicy(), { afterPhase: \"Deserialize\" });\n pipeline.addPolicy(defaultRetryPolicy(options.retryOptions), { phase: \"Retry\" });\n pipeline.addPolicy(logPolicy(options.loggingOptions), { afterPhase: \"Sign\" });\n\n return pipeline;\n}\n"]}
|
|
@@ -3,4 +3,4 @@ import type { HttpClient } from "./interfaces.js";
|
|
|
3
3
|
* Create the correct HttpClient for the current environment.
|
|
4
4
|
*/
|
|
5
5
|
export declare function createDefaultHttpClient(): HttpClient;
|
|
6
|
-
//# sourceMappingURL=defaultHttpClient.d.
|
|
6
|
+
//# sourceMappingURL=defaultHttpClient-react-native.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultHttpClient-react-native.mjs","sourceRoot":"","sources":["../../src/defaultHttpClient-react-native.mts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,mBAAmB,EAAE,CAAC;AAC/B,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { HttpClient } from \"./interfaces.js\";\nimport { createXhrHttpClient } from \"./xhrHttpClient.js\";\n\n/**\n * Create the correct HttpClient for the current environment.\n */\nexport function createDefaultHttpClient(): HttpClient {\n return createXhrHttpClient();\n}\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
var TextDecoder: (new () => {
|
|
3
|
+
decode(input: Uint8Array): string;
|
|
4
|
+
}) | undefined;
|
|
5
|
+
var TextEncoder: (new () => {
|
|
6
|
+
encode(input: string): Uint8Array<ArrayBuffer>;
|
|
7
|
+
}) | undefined;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Decodes a Uint8Array to a UTF-8 string.
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export declare function decodeUtf8(bytes: Uint8Array): string;
|
|
15
|
+
/**
|
|
16
|
+
* Encodes a string to a UTF-8 Uint8Array.
|
|
17
|
+
*
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
export declare function encodeUtf8(value: string): Uint8Array<ArrayBuffer>;
|
|
21
|
+
//# sourceMappingURL=encoding-react-native.d.mts.map
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
/**
|
|
4
|
+
* Decodes a Uint8Array to a UTF-8 string.
|
|
5
|
+
*
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export function decodeUtf8(bytes) {
|
|
9
|
+
if (typeof TextDecoder === "undefined") {
|
|
10
|
+
throw new Error("TextDecoder is not available in this environment. Please provide a polyfill.");
|
|
11
|
+
}
|
|
12
|
+
return new TextDecoder().decode(bytes);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Encodes a string to a UTF-8 Uint8Array.
|
|
16
|
+
*
|
|
17
|
+
* @internal
|
|
18
|
+
*/
|
|
19
|
+
export function encodeUtf8(value) {
|
|
20
|
+
if (typeof TextEncoder === "undefined") {
|
|
21
|
+
throw new Error("TextEncoder is not available in this environment. Please provide a polyfill.");
|
|
22
|
+
}
|
|
23
|
+
return new TextEncoder().encode(value);
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=encoding-react-native.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encoding-react-native.mjs","sourceRoot":"","sources":["../../src/encoding-react-native.mts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAUlC;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,KAAiB;IAC1C,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// React Native's type definitions do not include TextDecoder/TextEncoder,\n// but they are available at runtime in the Hermes engine.\n// See https://github.com/facebook/react-native/issues/56325\ndeclare global {\n var TextDecoder: (new () => { decode(input: Uint8Array): string }) | undefined;\n var TextEncoder: (new () => { encode(input: string): Uint8Array<ArrayBuffer> }) | undefined;\n}\n\n/**\n * Decodes a Uint8Array to a UTF-8 string.\n *\n * @internal\n */\nexport function decodeUtf8(bytes: Uint8Array): string {\n if (typeof TextDecoder === \"undefined\") {\n throw new Error(\"TextDecoder is not available in this environment. Please provide a polyfill.\");\n }\n return new TextDecoder().decode(bytes);\n}\n\n/**\n * Encodes a string to a UTF-8 Uint8Array.\n *\n * @internal\n */\nexport function encodeUtf8(value: string): Uint8Array<ArrayBuffer> {\n if (typeof TextEncoder === \"undefined\") {\n throw new Error(\"TextEncoder is not available in this environment. Please provide a polyfill.\");\n }\n return new TextEncoder().encode(value);\n}\n"]}
|
|
@@ -1,3 +1,23 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
var process: {
|
|
3
|
+
env?: Record<string, string | undefined>;
|
|
4
|
+
emitWarning?: (warning: string) => void;
|
|
5
|
+
} | undefined;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Returns the value of the specified environment variable.
|
|
9
|
+
* In React Native environments, this checks for a globally-defined `process.env`
|
|
10
|
+
* which may be injected by bundlers like Metro.
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export declare function getEnvironmentVariable(name: string): string | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* Emits a warning via `process.emitWarning` if available.
|
|
17
|
+
*
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
export declare function emitNodeWarning(warning: string): void;
|
|
1
21
|
/**
|
|
2
22
|
* A constant that indicates whether the environment the code is running is a Web Browser.
|
|
3
23
|
*/
|
|
@@ -26,4 +46,4 @@ export declare const isNodeRuntime: boolean;
|
|
|
26
46
|
* A constant that indicates whether the environment the code is running is in React-Native.
|
|
27
47
|
*/
|
|
28
48
|
export declare const isReactNative: boolean;
|
|
29
|
-
//# sourceMappingURL=
|
|
49
|
+
//# sourceMappingURL=env-react-native.d.mts.map
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
/**
|
|
4
|
+
* Returns the value of the specified environment variable.
|
|
5
|
+
* In React Native environments, this checks for a globally-defined `process.env`
|
|
6
|
+
* which may be injected by bundlers like Metro.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export function getEnvironmentVariable(name) {
|
|
11
|
+
return globalThis.process?.env?.[name];
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Emits a warning via `process.emitWarning` if available.
|
|
15
|
+
*
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
export function emitNodeWarning(warning) {
|
|
19
|
+
globalThis.process?.emitWarning?.(warning);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* A constant that indicates whether the environment the code is running is a Web Browser.
|
|
23
|
+
*/
|
|
24
|
+
export const isBrowser = false;
|
|
25
|
+
/**
|
|
26
|
+
* A constant that indicates whether the environment the code is running is a Web Worker.
|
|
27
|
+
*/
|
|
28
|
+
export const isWebWorker = false;
|
|
29
|
+
/**
|
|
30
|
+
* A constant that indicates whether the environment the code is running is Deno.
|
|
31
|
+
*/
|
|
32
|
+
export const isDeno = false;
|
|
33
|
+
/**
|
|
34
|
+
* A constant that indicates whether the environment the code is running is Bun.sh.
|
|
35
|
+
*/
|
|
36
|
+
export const isBun = false;
|
|
37
|
+
/**
|
|
38
|
+
* A constant that indicates whether the environment the code is running is a Node.js compatible environment.
|
|
39
|
+
*/
|
|
40
|
+
export const isNodeLike = false;
|
|
41
|
+
/**
|
|
42
|
+
* A constant that indicates whether the environment the code is running is Node.JS.
|
|
43
|
+
*/
|
|
44
|
+
export const isNodeRuntime = false;
|
|
45
|
+
/**
|
|
46
|
+
* A constant that indicates whether the environment the code is running is in React-Native.
|
|
47
|
+
*/
|
|
48
|
+
// https://github.com/facebook/react-native/blob/main/packages/react-native/Libraries/Core/setUpNavigator.js
|
|
49
|
+
export const isReactNative = true;
|
|
50
|
+
//# sourceMappingURL=env-react-native.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-react-native.mjs","sourceRoot":"","sources":["../../src/env-react-native.mts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAclC;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAY,KAAK,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAY,KAAK,CAAC;AAE1C;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAY,KAAK,CAAC;AAErC;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAY,KAAK,CAAC;AAEpC;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAY,KAAK,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAY,KAAK,CAAC;AAE5C;;GAEG;AACH,4GAA4G;AAC5G,MAAM,CAAC,MAAM,aAAa,GAAY,IAAI,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// Bundlers like Metro may inject a `process.env` object into React Native bundles.\n// Declare the minimal shape on globalThis so we can access it type-safely without\n// pulling in @types/node.\n// Using `globalThis.process` (property access) instead of bare `process` avoids\n// ReferenceError when the binding doesn't exist at all.\ndeclare global {\n // eslint-disable-next-line no-var\n var process:\n | { env?: Record<string, string | undefined>; emitWarning?: (warning: string) => void }\n | undefined;\n}\n\n/**\n * Returns the value of the specified environment variable.\n * In React Native environments, this checks for a globally-defined `process.env`\n * which may be injected by bundlers like Metro.\n *\n * @internal\n */\nexport function getEnvironmentVariable(name: string): string | undefined {\n return globalThis.process?.env?.[name];\n}\n\n/**\n * Emits a warning via `process.emitWarning` if available.\n *\n * @internal\n */\nexport function emitNodeWarning(warning: string): void {\n globalThis.process?.emitWarning?.(warning);\n}\n\n/**\n * A constant that indicates whether the environment the code is running is a Web Browser.\n */\nexport const isBrowser: boolean = false;\n\n/**\n * A constant that indicates whether the environment the code is running is a Web Worker.\n */\nexport const isWebWorker: boolean = false;\n\n/**\n * A constant that indicates whether the environment the code is running is Deno.\n */\nexport const isDeno: boolean = false;\n\n/**\n * A constant that indicates whether the environment the code is running is Bun.sh.\n */\nexport const isBun: boolean = false;\n\n/**\n * A constant that indicates whether the environment the code is running is a Node.js compatible environment.\n */\nexport const isNodeLike: boolean = false;\n\n/**\n * A constant that indicates whether the environment the code is running is Node.JS.\n */\nexport const isNodeRuntime: boolean = false;\n\n/**\n * A constant that indicates whether the environment the code is running is in React-Native.\n */\n// https://github.com/facebook/react-native/blob/main/packages/react-native/Libraries/Core/setUpNavigator.js\nexport const isReactNative: boolean = true;\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { FormDataMap } from "./interfaces.js";
|
|
2
|
+
/**
|
|
3
|
+
* Browser and React Native runtimes handle FormData natively,
|
|
4
|
+
* so no conversion from FormData to FormDataMap is needed.
|
|
5
|
+
*
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export declare function convertBodyToFormDataMap(_body: unknown): FormDataMap | undefined;
|
|
9
|
+
//# sourceMappingURL=formData-web.d.mts.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
/**
|
|
4
|
+
* Browser and React Native runtimes handle FormData natively,
|
|
5
|
+
* so no conversion from FormData to FormDataMap is needed.
|
|
6
|
+
*
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export function convertBodyToFormDataMap(_body) {
|
|
10
|
+
return undefined;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=formData-web.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formData-web.mjs","sourceRoot":"","sources":["../../src/formData-web.mts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAIlC;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { FormDataMap } from \"./interfaces.js\";\n\n/**\n * Browser and React Native runtimes handle FormData natively,\n * so no conversion from FormData to FormDataMap is needed.\n *\n * @internal\n */\nexport function convertBodyToFormDataMap(_body: unknown): FormDataMap | undefined {\n return undefined;\n}\n"]}
|
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
function normalizeName(name) {
|
|
4
4
|
return name.toLowerCase();
|
|
5
5
|
}
|
|
6
|
+
/**
|
|
7
|
+
* Removes CR and LF characters from a header value to prevent obs-fold
|
|
8
|
+
* (line folding) sequences, as forbidden by RFC 7230 §3.2.4.
|
|
9
|
+
* @param value - The header value to sanitize.
|
|
10
|
+
*/
|
|
11
|
+
function normalizeValue(value) {
|
|
12
|
+
return String(value)
|
|
13
|
+
.trim()
|
|
14
|
+
.replace(/[\r\n]/g, "");
|
|
15
|
+
}
|
|
6
16
|
function* headerIterator(map) {
|
|
7
17
|
for (const entry of map.values()) {
|
|
8
18
|
yield [entry.name, entry.value];
|
|
@@ -25,7 +35,7 @@ class HttpHeadersImpl {
|
|
|
25
35
|
* @param value - The value of the header to set.
|
|
26
36
|
*/
|
|
27
37
|
set(name, value) {
|
|
28
|
-
this._headersMap.set(normalizeName(name), { name, value:
|
|
38
|
+
this._headersMap.set(normalizeName(name), { name, value: normalizeValue(value) });
|
|
29
39
|
}
|
|
30
40
|
/**
|
|
31
41
|
* Get the header value for the provided header name, or undefined if no header exists in this
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpHeaders.js","sourceRoot":"","sources":["../../src/httpHeaders.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AASlC,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5B,CAAC;AAED,QAAQ,CAAC,CAAC,cAAc,CAAC,GAA6B;IACpD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,MAAM,eAAe;IACF,WAAW,CAA2B;IAEvD,YAAY,UAAiD;QAC3D,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAC;QAClD,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjD,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,GAAG,CAAC,IAAY,EAAE,KAAgC;QACvD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"httpHeaders.js","sourceRoot":"","sources":["../../src/httpHeaders.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AASlC,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,KAAgC;IACtD,OAAO,MAAM,CAAC,KAAK,CAAC;SACjB,IAAI,EAAE;SACN,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED,QAAQ,CAAC,CAAC,cAAc,CAAC,GAA6B;IACpD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,MAAM,eAAe;IACF,WAAW,CAA2B;IAEvD,YAAY,UAAiD;QAC3D,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAC;QAClD,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjD,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,GAAG,CAAC,IAAY,EAAE,KAAgC;QACvD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC;IAED;;;;OAIG;IACI,GAAG,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACI,GAAG,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,IAAY;QACxB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,UAAsC,EAAE;QACpD,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC9C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;YACnC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACvD,MAAM,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;YACvC,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,QAAQ;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAgC;IAChE,OAAO,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;AACzC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { HttpHeaders, RawHttpHeaders, RawHttpHeadersInput } from \"./interfaces.js\";\n\ninterface HeaderEntry {\n name: string;\n value: string;\n}\n\nfunction normalizeName(name: string): string {\n return name.toLowerCase();\n}\n\n/**\n * Removes CR and LF characters from a header value to prevent obs-fold\n * (line folding) sequences, as forbidden by RFC 7230 §3.2.4.\n * @param value - The header value to sanitize.\n */\nfunction normalizeValue(value: string | number | boolean): string {\n return String(value)\n .trim()\n .replace(/[\\r\\n]/g, \"\");\n}\n\nfunction* headerIterator(map: Map<string, HeaderEntry>): IterableIterator<[string, string]> {\n for (const entry of map.values()) {\n yield [entry.name, entry.value];\n }\n}\n\nclass HttpHeadersImpl implements HttpHeaders {\n private readonly _headersMap: Map<string, HeaderEntry>;\n\n constructor(rawHeaders?: RawHttpHeaders | RawHttpHeadersInput) {\n this._headersMap = new Map<string, HeaderEntry>();\n if (rawHeaders) {\n for (const headerName of Object.keys(rawHeaders)) {\n this.set(headerName, rawHeaders[headerName]);\n }\n }\n }\n\n /**\n * Set a header in this collection with the provided name and value. The name is\n * case-insensitive.\n * @param name - The name of the header to set. This value is case-insensitive.\n * @param value - The value of the header to set.\n */\n public set(name: string, value: string | number | boolean): void {\n this._headersMap.set(normalizeName(name), { name, value: normalizeValue(value) });\n }\n\n /**\n * Get the header value for the provided header name, or undefined if no header exists in this\n * collection with the provided name.\n * @param name - The name of the header. This value is case-insensitive.\n */\n public get(name: string): string | undefined {\n return this._headersMap.get(normalizeName(name))?.value;\n }\n\n /**\n * Get whether or not this header collection contains a header entry for the provided header name.\n * @param name - The name of the header to set. This value is case-insensitive.\n */\n public has(name: string): boolean {\n return this._headersMap.has(normalizeName(name));\n }\n\n /**\n * Remove the header with the provided headerName.\n * @param name - The name of the header to remove.\n */\n public delete(name: string): void {\n this._headersMap.delete(normalizeName(name));\n }\n\n /**\n * Get the JSON object representation of this HTTP header collection.\n */\n public toJSON(options: { preserveCase?: boolean } = {}): RawHttpHeaders {\n const result: RawHttpHeaders = {};\n if (options.preserveCase) {\n for (const entry of this._headersMap.values()) {\n result[entry.name] = entry.value;\n }\n } else {\n for (const [normalizedName, entry] of this._headersMap) {\n result[normalizedName] = entry.value;\n }\n }\n\n return result;\n }\n\n /**\n * Get the string representation of this HTTP header collection.\n */\n public toString(): string {\n return JSON.stringify(this.toJSON({ preserveCase: true }));\n }\n\n /**\n * Iterate over tuples of header [name, value] pairs.\n */\n [Symbol.iterator](): Iterator<[string, string]> {\n return headerIterator(this._headersMap);\n }\n}\n\n/**\n * Creates an object that satisfies the `HttpHeaders` interface.\n * @param rawHeaders - A simple object representing initial headers\n */\nexport function createHttpHeaders(rawHeaders?: RawHttpHeadersInput): HttpHeaders {\n return new HttpHeadersImpl(rawHeaders);\n}\n"]}
|
|
@@ -1,16 +1,5 @@
|
|
|
1
|
-
declare global {
|
|
2
|
-
interface FormData {
|
|
3
|
-
}
|
|
4
|
-
interface Blob {
|
|
5
|
-
}
|
|
6
|
-
interface File {
|
|
7
|
-
}
|
|
8
|
-
interface ReadableStream<R = any> {
|
|
9
|
-
}
|
|
10
|
-
interface TransformStream<I = any, O = any> {
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
1
|
export { AbortError } from "./abort-controller/AbortError.js";
|
|
2
|
+
export type { NodeReadableStream, NodeBuffer, WebReadableStream } from "./types-react-native.mjs";
|
|
14
3
|
export { createClientLogger, getLogLevel, setLogLevel, TypeSpecRuntimeLogger, type Debugger, type TypeSpecRuntimeClientLogger, type TypeSpecRuntimeLogLevel, } from "./logger/logger.js";
|
|
15
4
|
export type { BodyPart, FormDataValue, RawHttpHeaders, KeyObject, PxfObject, HttpClient, PipelineRequest, PipelineResponse, SendRequest, TlsSettings, Agent, RequestBodyType, FormDataMap, HttpHeaders, HttpMethods, MultipartRequestBody, TransferProgressEvent, ProxySettings, RawHttpHeadersInput, PipelineRetryOptions, } from "./interfaces.js";
|
|
16
5
|
export { createHttpHeaders } from "./httpHeaders.js";
|
|
@@ -20,8 +9,8 @@ export { type BasicCredential, type BearerTokenCredential, type OAuth2TokenCrede
|
|
|
20
9
|
export { createPipelineRequest, type PipelineRequestOptions } from "./pipelineRequest.js";
|
|
21
10
|
export { type Pipeline, type PipelinePolicy, type AddPolicyOptions, type PipelinePhase, createEmptyPipeline, } from "./pipeline.js";
|
|
22
11
|
export { RestError, isRestError, type RestErrorOptions } from "./restError.js";
|
|
23
|
-
export { stringToUint8Array, uint8ArrayToString, type EncodingType } from "./util/bytesEncoding.
|
|
24
|
-
export { createDefaultHttpClient } from "./defaultHttpClient.
|
|
12
|
+
export { stringToUint8Array, uint8ArrayToString, type EncodingType } from "./util/bytesEncoding-web.mjs";
|
|
13
|
+
export { createDefaultHttpClient } from "./defaultHttpClient-react-native.mjs";
|
|
25
14
|
export { getClient } from "./client/getClient.js";
|
|
26
15
|
export { operationOptionsToRequestParameters } from "./client/operationOptionHelpers.js";
|
|
27
16
|
export { createRestError } from "./client/restError.js";
|
|
@@ -6,8 +6,8 @@ export { createHttpHeaders } from "./httpHeaders.js";
|
|
|
6
6
|
export { createPipelineRequest } from "./pipelineRequest.js";
|
|
7
7
|
export { createEmptyPipeline, } from "./pipeline.js";
|
|
8
8
|
export { RestError, isRestError } from "./restError.js";
|
|
9
|
-
export { stringToUint8Array, uint8ArrayToString } from "./util/bytesEncoding.
|
|
10
|
-
export { createDefaultHttpClient } from "./defaultHttpClient.
|
|
9
|
+
export { stringToUint8Array, uint8ArrayToString } from "./util/bytesEncoding-web.mjs";
|
|
10
|
+
export { createDefaultHttpClient } from "./defaultHttpClient-react-native.mjs";
|
|
11
11
|
export { getClient } from "./client/getClient.js";
|
|
12
12
|
export { operationOptionsToRequestParameters } from "./client/operationOptionHelpers.js";
|
|
13
13
|
export { createRestError } from "./client/restError.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,qBAAqB,GAItB,MAAM,oBAAoB,CAAC;AAwB5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAYrD,OAAO,EAAE,qBAAqB,EAA+B,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAKL,mBAAmB,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAyB,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAqB,MAAM,yBAAyB,CAAC;AACpG,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,mCAAmC,EAAE,MAAM,oCAAoC,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport { AbortError } from \"./abort-controller/AbortError.js\";\nexport type { NodeReadableStream, NodeBuffer, WebReadableStream } from \"#platform/types\";\nexport {\n createClientLogger,\n getLogLevel,\n setLogLevel,\n TypeSpecRuntimeLogger,\n type Debugger,\n type TypeSpecRuntimeClientLogger,\n type TypeSpecRuntimeLogLevel,\n} from \"./logger/logger.js\";\n\nexport type {\n BodyPart,\n FormDataValue,\n RawHttpHeaders,\n KeyObject,\n PxfObject,\n HttpClient,\n PipelineRequest,\n PipelineResponse,\n SendRequest,\n TlsSettings,\n Agent,\n RequestBodyType,\n FormDataMap,\n HttpHeaders,\n HttpMethods,\n MultipartRequestBody,\n TransferProgressEvent,\n ProxySettings,\n RawHttpHeadersInput,\n PipelineRetryOptions,\n} from \"./interfaces.js\";\nexport { createHttpHeaders } from \"./httpHeaders.js\";\nexport type * from \"./auth/schemes.js\";\nexport type * from \"./auth/oauth2Flows.js\";\nexport {\n type BasicCredential,\n type BearerTokenCredential,\n type OAuth2TokenCredential,\n type GetOAuth2TokenOptions,\n type GetBearerTokenOptions,\n type ApiKeyCredential,\n type ClientCredential,\n} from \"./auth/credentials.js\";\nexport { createPipelineRequest, type PipelineRequestOptions } from \"./pipelineRequest.js\";\nexport {\n type Pipeline,\n type PipelinePolicy,\n type AddPolicyOptions,\n type PipelinePhase,\n createEmptyPipeline,\n} from \"./pipeline.js\";\nexport { RestError, isRestError, type RestErrorOptions } from \"./restError.js\";\nexport { stringToUint8Array, uint8ArrayToString, type EncodingType } from \"#platform/bytesEncoding\";\nexport { createDefaultHttpClient } from \"#platform/httpClient\";\nexport { getClient } from \"./client/getClient.js\";\nexport { operationOptionsToRequestParameters } from \"./client/operationOptionHelpers.js\";\nexport { createRestError } from \"./client/restError.js\";\nexport type {\n Client,\n ClientOptions,\n OperationOptions,\n AdditionalPolicyConfig,\n PathUnchecked,\n PathUncheckedResponse,\n HttpResponse,\n RawResponseCallback,\n OperationRequestOptions,\n PathParameters,\n ResourceMethods,\n PathParameterWithOptions,\n StreamableMethod,\n RequestParameters,\n HttpNodeStreamResponse,\n HttpBrowserStreamResponse,\n FullOperationResponse,\n} from \"./client/common.js\";\nexport type { PipelineOptions, TelemetryOptions } from \"./createPipelineFromOptions.js\";\nexport type { LogPolicyOptions } from \"./policies/logPolicy.js\";\nexport type { RedirectPolicyOptions } from \"./policies/redirectPolicy.js\";\nexport type { UserAgentPolicyOptions } from \"./policies/userAgentPolicy.js\";\n"]}
|