@typespec/ts-http-runtime 0.3.4-alpha.20260227.2 → 0.3.4

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.
Files changed (295) hide show
  1. package/dist/browser/client/sendRequest.d.ts +10 -1
  2. package/dist/browser/client/sendRequest.js +8 -2
  3. package/dist/browser/client/sendRequest.js.map +1 -1
  4. package/dist/browser/defaultHttpClient.d.ts +1 -1
  5. package/dist/browser/defaultHttpClient.js +1 -1
  6. package/dist/browser/defaultHttpClient.js.map +1 -0
  7. package/dist/browser/index.d.ts +2 -2
  8. package/dist/browser/index.js +0 -2
  9. package/dist/browser/index.js.map +1 -1
  10. package/dist/browser/logger/log.d.ts +1 -1
  11. package/dist/browser/logger/log.js +1 -1
  12. package/dist/browser/logger/log.js.map +1 -0
  13. package/dist/browser/pipelineRequest.d.ts +1 -1
  14. package/dist/browser/pipelineRequest.js.map +1 -1
  15. package/dist/browser/policies/decompressResponsePolicy.d.ts +3 -2
  16. package/dist/browser/policies/decompressResponsePolicy.js +1 -4
  17. package/dist/browser/policies/decompressResponsePolicy.js.map +1 -0
  18. package/dist/browser/policies/internal.d.ts +7 -7
  19. package/dist/browser/policies/internal.js +2 -2
  20. package/dist/browser/policies/internal.js.map +1 -1
  21. package/dist/browser/policies/proxyPolicy.common.d.ts +7 -3
  22. package/dist/browser/policies/proxyPolicy.common.js +2 -2
  23. package/dist/browser/policies/proxyPolicy.common.js.map +1 -1
  24. package/dist/browser/policies/proxyPolicy.d.ts +1 -1
  25. package/dist/browser/policies/proxyPolicy.js +1 -1
  26. package/dist/browser/policies/proxyPolicy.js.map +1 -0
  27. package/dist/browser/policies/redirectPolicy.d.ts +7 -0
  28. package/dist/browser/policies/redirectPolicy.js +13 -4
  29. package/dist/browser/policies/redirectPolicy.js.map +1 -1
  30. package/dist/browser/util/bytesEncoding.d.ts +1 -1
  31. package/dist/browser/util/bytesEncoding.js +1 -1
  32. package/dist/browser/util/bytesEncoding.js.map +1 -0
  33. package/dist/browser/util/concat.common.d.ts +1 -2
  34. package/dist/browser/util/concat.common.js.map +1 -1
  35. package/dist/browser/util/concat.d.ts +1 -1
  36. package/dist/browser/util/concat.js +1 -1
  37. package/dist/browser/util/concat.js.map +1 -0
  38. package/dist/browser/util/inspect.d.ts +1 -1
  39. package/dist/browser/util/inspect.js +1 -1
  40. package/dist/browser/util/inspect.js.map +1 -0
  41. package/dist/browser/util/sha256.d.ts +1 -1
  42. package/dist/browser/util/sha256.js +1 -1
  43. package/dist/browser/util/sha256.js.map +1 -0
  44. package/dist/browser/util/userAgentPlatform.d.ts +1 -1
  45. package/dist/browser/util/userAgentPlatform.js +1 -1
  46. package/dist/browser/util/userAgentPlatform.js.map +1 -0
  47. package/dist/browser/util/uuidUtils.d.ts +1 -1
  48. package/dist/browser/util/uuidUtils.js +1 -1
  49. package/dist/browser/util/uuidUtils.js.map +1 -0
  50. package/dist/commonjs/abort-controller/AbortError.js +30 -40
  51. package/dist/commonjs/abort-controller/AbortError.js.map +7 -1
  52. package/dist/commonjs/auth/credentials.js +36 -25
  53. package/dist/commonjs/auth/credentials.js.map +7 -1
  54. package/dist/commonjs/auth/oauth2Flows.js +15 -5
  55. package/dist/commonjs/auth/oauth2Flows.js.map +7 -1
  56. package/dist/commonjs/auth/schemes.js +15 -5
  57. package/dist/commonjs/auth/schemes.js.map +7 -1
  58. package/dist/commonjs/client/apiVersionPolicy.js +39 -25
  59. package/dist/commonjs/client/apiVersionPolicy.js.map +7 -1
  60. package/dist/commonjs/client/clientHelpers.js +62 -39
  61. package/dist/commonjs/client/clientHelpers.js.map +7 -1
  62. package/dist/commonjs/client/common.js +15 -5
  63. package/dist/commonjs/client/common.js.map +7 -1
  64. package/dist/commonjs/client/getClient.js +170 -82
  65. package/dist/commonjs/client/getClient.js.map +7 -1
  66. package/dist/commonjs/client/multipart.js +119 -110
  67. package/dist/commonjs/client/multipart.js.map +7 -1
  68. package/dist/commonjs/client/operationOptionHelpers.js +36 -21
  69. package/dist/commonjs/client/operationOptionHelpers.js.map +7 -1
  70. package/dist/commonjs/client/restError.js +44 -26
  71. package/dist/commonjs/client/restError.js.map +7 -1
  72. package/dist/commonjs/client/sendRequest.d.ts +10 -1
  73. package/dist/commonjs/client/sendRequest.js +150 -164
  74. package/dist/commonjs/client/sendRequest.js.map +7 -1
  75. package/dist/commonjs/client/urlHelpers.js +124 -131
  76. package/dist/commonjs/client/urlHelpers.js.map +7 -1
  77. package/dist/commonjs/constants.js +30 -8
  78. package/dist/commonjs/constants.js.map +7 -1
  79. package/dist/commonjs/createPipelineFromOptions.js +56 -45
  80. package/dist/commonjs/createPipelineFromOptions.js.map +7 -1
  81. package/dist/commonjs/defaultHttpClient.js +28 -11
  82. package/dist/commonjs/defaultHttpClient.js.map +7 -1
  83. package/dist/commonjs/fetchHttpClient.js +211 -256
  84. package/dist/commonjs/fetchHttpClient.js.map +7 -1
  85. package/dist/commonjs/httpHeaders.js +97 -82
  86. package/dist/commonjs/httpHeaders.js.map +7 -1
  87. package/dist/commonjs/index.d.ts +2 -2
  88. package/dist/commonjs/index.js +67 -36
  89. package/dist/commonjs/index.js.map +7 -1
  90. package/dist/commonjs/interfaces.js +15 -5
  91. package/dist/commonjs/interfaces.js.map +7 -1
  92. package/dist/commonjs/log.js +28 -8
  93. package/dist/commonjs/log.js.map +7 -1
  94. package/dist/commonjs/logger/debug.js +150 -155
  95. package/dist/commonjs/logger/debug.js.map +7 -1
  96. package/dist/commonjs/logger/internal.js +27 -8
  97. package/dist/commonjs/logger/internal.js.map +7 -1
  98. package/dist/commonjs/logger/log.common.js +39 -23
  99. package/dist/commonjs/logger/log.common.js.map +7 -1
  100. package/dist/commonjs/logger/log.js +40 -11
  101. package/dist/commonjs/logger/log.js.map +7 -1
  102. package/dist/commonjs/logger/logger.js +120 -110
  103. package/dist/commonjs/logger/logger.js.map +7 -1
  104. package/dist/commonjs/nodeHttpClient.js +313 -321
  105. package/dist/commonjs/nodeHttpClient.js.map +7 -1
  106. package/dist/commonjs/pipeline.js +190 -247
  107. package/dist/commonjs/pipeline.js.map +7 -1
  108. package/dist/commonjs/pipelineRequest.d.ts +1 -1
  109. package/dist/commonjs/pipelineRequest.js +69 -54
  110. package/dist/commonjs/pipelineRequest.js.map +7 -1
  111. package/dist/commonjs/policies/agentPolicy.js +38 -24
  112. package/dist/commonjs/policies/agentPolicy.js.map +7 -1
  113. package/dist/commonjs/policies/auth/apiKeyAuthenticationPolicy.js +45 -32
  114. package/dist/commonjs/policies/auth/apiKeyAuthenticationPolicy.js.map +7 -1
  115. package/dist/commonjs/policies/auth/basicAuthenticationPolicy.js +50 -32
  116. package/dist/commonjs/policies/auth/basicAuthenticationPolicy.js.map +7 -1
  117. package/dist/commonjs/policies/auth/bearerAuthenticationPolicy.js +47 -32
  118. package/dist/commonjs/policies/auth/bearerAuthenticationPolicy.js.map +7 -1
  119. package/dist/commonjs/policies/auth/checkInsecureConnection.js +47 -44
  120. package/dist/commonjs/policies/auth/checkInsecureConnection.js.map +7 -1
  121. package/dist/commonjs/policies/auth/oauth2AuthenticationPolicy.js +45 -32
  122. package/dist/commonjs/policies/auth/oauth2AuthenticationPolicy.js.map +7 -1
  123. package/dist/commonjs/policies/decompressResponsePolicy.js +38 -25
  124. package/dist/commonjs/policies/decompressResponsePolicy.js.map +7 -1
  125. package/dist/commonjs/policies/defaultRetryPolicy.js +39 -27
  126. package/dist/commonjs/policies/defaultRetryPolicy.js.map +7 -1
  127. package/dist/commonjs/policies/exponentialRetryPolicy.js +43 -26
  128. package/dist/commonjs/policies/exponentialRetryPolicy.js.map +7 -1
  129. package/dist/commonjs/policies/formDataPolicy.js +101 -90
  130. package/dist/commonjs/policies/formDataPolicy.js.map +7 -1
  131. package/dist/commonjs/policies/internal.d.ts +7 -7
  132. package/dist/commonjs/policies/internal.js +94 -48
  133. package/dist/commonjs/policies/internal.js.map +7 -1
  134. package/dist/commonjs/policies/logPolicy.js +49 -35
  135. package/dist/commonjs/policies/logPolicy.js.map +7 -1
  136. package/dist/commonjs/policies/multipartPolicy.js +117 -99
  137. package/dist/commonjs/policies/multipartPolicy.js.map +7 -1
  138. package/dist/commonjs/policies/proxyPolicy.common.d.ts +7 -3
  139. package/dist/commonjs/policies/proxyPolicy.common.js +38 -25
  140. package/dist/commonjs/policies/proxyPolicy.common.js.map +7 -1
  141. package/dist/commonjs/policies/proxyPolicy.js +160 -171
  142. package/dist/commonjs/policies/proxyPolicy.js.map +7 -1
  143. package/dist/commonjs/policies/redirectPolicy.d.ts +7 -0
  144. package/dist/commonjs/policies/redirectPolicy.js +62 -51
  145. package/dist/commonjs/policies/redirectPolicy.js.map +7 -1
  146. package/dist/commonjs/policies/retryPolicy.js +123 -105
  147. package/dist/commonjs/policies/retryPolicy.js.map +7 -1
  148. package/dist/commonjs/policies/systemErrorRetryPolicy.js +46 -31
  149. package/dist/commonjs/policies/systemErrorRetryPolicy.js.map +7 -1
  150. package/dist/commonjs/policies/throttlingRetryPolicy.js +38 -30
  151. package/dist/commonjs/policies/throttlingRetryPolicy.js.map +7 -1
  152. package/dist/commonjs/policies/tlsPolicy.js +38 -24
  153. package/dist/commonjs/policies/tlsPolicy.js.map +7 -1
  154. package/dist/commonjs/policies/userAgentPolicy.js +41 -28
  155. package/dist/commonjs/policies/userAgentPolicy.js.map +7 -1
  156. package/dist/commonjs/restError.js +93 -90
  157. package/dist/commonjs/restError.js.map +7 -1
  158. package/dist/commonjs/retryStrategies/exponentialRetryStrategy.js +63 -62
  159. package/dist/commonjs/retryStrategies/exponentialRetryStrategy.js.map +7 -1
  160. package/dist/commonjs/retryStrategies/retryStrategy.js +15 -5
  161. package/dist/commonjs/retryStrategies/retryStrategy.js.map +7 -1
  162. package/dist/commonjs/retryStrategies/throttlingRetryStrategy.js +58 -69
  163. package/dist/commonjs/retryStrategies/throttlingRetryStrategy.js.map +7 -1
  164. package/dist/commonjs/util/arrayBuffer.js +34 -21
  165. package/dist/commonjs/util/arrayBuffer.js.map +7 -1
  166. package/dist/commonjs/util/bytesEncoding.common.js +83 -100
  167. package/dist/commonjs/util/bytesEncoding.common.js.map +7 -1
  168. package/dist/commonjs/util/bytesEncoding.js +30 -21
  169. package/dist/commonjs/util/bytesEncoding.js.map +7 -1
  170. package/dist/commonjs/util/checkEnvironment.js +45 -44
  171. package/dist/commonjs/util/checkEnvironment.js.map +7 -1
  172. package/dist/commonjs/util/concat.common.d.ts +1 -2
  173. package/dist/commonjs/util/concat.common.js +51 -52
  174. package/dist/commonjs/util/concat.common.js.map +7 -1
  175. package/dist/commonjs/util/concat.js +70 -61
  176. package/dist/commonjs/util/concat.js.map +7 -1
  177. package/dist/commonjs/util/delay.js +31 -21
  178. package/dist/commonjs/util/delay.js.map +7 -1
  179. package/dist/commonjs/util/error.js +33 -17
  180. package/dist/commonjs/util/error.js.map +7 -1
  181. package/dist/commonjs/util/helpers.js +65 -57
  182. package/dist/commonjs/util/helpers.js.map +7 -1
  183. package/dist/commonjs/util/inspect.common.js +27 -7
  184. package/dist/commonjs/util/inspect.common.js.map +7 -1
  185. package/dist/commonjs/util/inspect.js +28 -8
  186. package/dist/commonjs/util/inspect.js.map +7 -1
  187. package/dist/commonjs/util/internal.js +67 -32
  188. package/dist/commonjs/util/internal.js.map +7 -1
  189. package/dist/commonjs/util/object.js +27 -15
  190. package/dist/commonjs/util/object.js.map +7 -1
  191. package/dist/commonjs/util/random.js +30 -22
  192. package/dist/commonjs/util/random.js.map +7 -1
  193. package/dist/commonjs/util/sanitizer.js +157 -148
  194. package/dist/commonjs/util/sanitizer.js.map +7 -1
  195. package/dist/commonjs/util/sha256.common.js +61 -45
  196. package/dist/commonjs/util/sha256.common.js.map +7 -1
  197. package/dist/commonjs/util/sha256.js +32 -22
  198. package/dist/commonjs/util/sha256.js.map +7 -1
  199. package/dist/commonjs/util/typeGuards.js +41 -21
  200. package/dist/commonjs/util/typeGuards.js.map +7 -1
  201. package/dist/commonjs/util/userAgent.js +43 -28
  202. package/dist/commonjs/util/userAgent.js.map +7 -1
  203. package/dist/commonjs/util/userAgentPlatform.js +51 -29
  204. package/dist/commonjs/util/userAgentPlatform.js.map +7 -1
  205. package/dist/commonjs/util/uuidUtils.common.js +43 -39
  206. package/dist/commonjs/util/uuidUtils.common.js.map +7 -1
  207. package/dist/commonjs/util/uuidUtils.js +27 -12
  208. package/dist/commonjs/util/uuidUtils.js.map +7 -1
  209. package/dist/commonjs/xhrHttpClient.js +171 -163
  210. package/dist/commonjs/xhrHttpClient.js.map +7 -1
  211. package/dist/esm/client/sendRequest.d.ts +10 -1
  212. package/dist/esm/client/sendRequest.js +8 -2
  213. package/dist/esm/client/sendRequest.js.map +1 -1
  214. package/dist/esm/index.d.ts +2 -2
  215. package/dist/esm/index.js +0 -2
  216. package/dist/esm/index.js.map +1 -1
  217. package/dist/esm/pipelineRequest.d.ts +1 -1
  218. package/dist/esm/pipelineRequest.js.map +1 -1
  219. package/dist/esm/policies/internal.d.ts +7 -7
  220. package/dist/esm/policies/internal.js +2 -2
  221. package/dist/esm/policies/internal.js.map +1 -1
  222. package/dist/esm/policies/proxyPolicy.common.d.ts +7 -3
  223. package/dist/esm/policies/proxyPolicy.common.js +2 -2
  224. package/dist/esm/policies/proxyPolicy.common.js.map +1 -1
  225. package/dist/esm/policies/redirectPolicy.d.ts +7 -0
  226. package/dist/esm/policies/redirectPolicy.js +13 -4
  227. package/dist/esm/policies/redirectPolicy.js.map +1 -1
  228. package/dist/esm/util/concat.common.d.ts +1 -2
  229. package/dist/esm/util/concat.common.js.map +1 -1
  230. package/dist/react-native/client/sendRequest.d.ts +10 -1
  231. package/dist/react-native/client/sendRequest.js +8 -2
  232. package/dist/react-native/client/sendRequest.js.map +1 -1
  233. package/dist/react-native/defaultHttpClient.d.ts +1 -1
  234. package/dist/react-native/defaultHttpClient.js +1 -1
  235. package/dist/react-native/defaultHttpClient.js.map +1 -0
  236. package/dist/react-native/index.d.ts +2 -2
  237. package/dist/react-native/index.js +0 -2
  238. package/dist/react-native/index.js.map +1 -1
  239. package/dist/react-native/logger/log.d.ts +1 -1
  240. package/dist/react-native/logger/log.js +1 -1
  241. package/dist/react-native/logger/log.js.map +1 -0
  242. package/dist/react-native/pipelineRequest.d.ts +1 -1
  243. package/dist/react-native/pipelineRequest.js.map +1 -1
  244. package/dist/react-native/policies/internal.d.ts +7 -7
  245. package/dist/react-native/policies/internal.js +2 -2
  246. package/dist/react-native/policies/internal.js.map +1 -1
  247. package/dist/react-native/policies/proxyPolicy.common.d.ts +7 -3
  248. package/dist/react-native/policies/proxyPolicy.common.js +2 -2
  249. package/dist/react-native/policies/proxyPolicy.common.js.map +1 -1
  250. package/dist/react-native/policies/proxyPolicy.d.ts +1 -1
  251. package/dist/react-native/policies/proxyPolicy.js +1 -1
  252. package/dist/react-native/policies/proxyPolicy.js.map +1 -0
  253. package/dist/react-native/policies/redirectPolicy.d.ts +7 -0
  254. package/dist/react-native/policies/redirectPolicy.js +13 -4
  255. package/dist/react-native/policies/redirectPolicy.js.map +1 -1
  256. package/dist/react-native/util/bytesEncoding.d.ts +1 -1
  257. package/dist/react-native/util/bytesEncoding.js +1 -1
  258. package/dist/react-native/util/bytesEncoding.js.map +1 -0
  259. package/dist/react-native/util/concat.common.d.ts +1 -2
  260. package/dist/react-native/util/concat.common.js.map +1 -1
  261. package/dist/react-native/util/concat.d.ts +1 -1
  262. package/dist/react-native/util/concat.js +1 -1
  263. package/dist/react-native/util/concat.js.map +1 -0
  264. package/dist/react-native/util/inspect.d.ts +1 -1
  265. package/dist/react-native/util/inspect.js +1 -1
  266. package/dist/react-native/util/inspect.js.map +1 -0
  267. package/dist/react-native/util/sha256.d.ts +1 -1
  268. package/dist/react-native/util/sha256.js +1 -1
  269. package/dist/react-native/util/sha256.js.map +1 -0
  270. package/dist/react-native/util/userAgentPlatform.d.ts +1 -1
  271. package/dist/react-native/util/userAgentPlatform.js +1 -1
  272. package/dist/react-native/util/userAgentPlatform.js.map +1 -0
  273. package/dist/react-native/util/uuidUtils.d.ts +1 -1
  274. package/dist/react-native/util/uuidUtils.js +1 -1
  275. package/dist/react-native/util/uuidUtils.js.map +1 -0
  276. package/package.json +1 -21
  277. package/dist/browser/defaultHttpClient-browser.mjs.map +0 -1
  278. package/dist/browser/logger/log-browser.mjs.map +0 -1
  279. package/dist/browser/policies/decompressResponsePolicy-browser.mjs.map +0 -1
  280. package/dist/browser/policies/proxyPolicy-browser.mjs.map +0 -1
  281. package/dist/browser/util/bytesEncoding-browser.mjs.map +0 -1
  282. package/dist/browser/util/concat-browser.mjs.map +0 -1
  283. package/dist/browser/util/inspect-browser.mjs.map +0 -1
  284. package/dist/browser/util/sha256-browser.mjs.map +0 -1
  285. package/dist/browser/util/userAgentPlatform-browser.mjs.map +0 -1
  286. package/dist/browser/util/uuidUtils-browser.mjs.map +0 -1
  287. package/dist/react-native/defaultHttpClient-react-native.mjs.map +0 -1
  288. package/dist/react-native/logger/log-react-native.mjs.map +0 -1
  289. package/dist/react-native/policies/proxyPolicy-react-native.mjs.map +0 -1
  290. package/dist/react-native/util/bytesEncoding-react-native.mjs.map +0 -1
  291. package/dist/react-native/util/concat-react-native.mjs.map +0 -1
  292. package/dist/react-native/util/inspect-react-native.mjs.map +0 -1
  293. package/dist/react-native/util/sha256-react-native.mjs.map +0 -1
  294. package/dist/react-native/util/userAgentPlatform-react-native.mjs.map +0 -1
  295. package/dist/react-native/util/uuidUtils-react-native.mjs.map +0 -1
@@ -1 +1,7 @@
1
- {"version":3,"file":"multipart.js","sourceRoot":"","sources":["../../../src/client/multipart.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { BodyPart, MultipartRequestBody, RawHttpHeadersInput } from \"../interfaces.js\";\nimport { RestError } from \"../restError.js\";\nimport { createHttpHeaders } from \"../httpHeaders.js\";\nimport { stringToUint8Array } from \"../util/bytesEncoding.js\";\nimport { isBinaryBody } from \"../util/typeGuards.js\";\n\n/**\n * Describes a single part in a multipart body.\n */\nexport interface PartDescriptor {\n /**\n * Content type of this part. If set, this value will be used to set the Content-Type MIME header for this part, although explicitly\n * setting the Content-Type header in the headers bag will override this value. If set to `null`, no content type will be inferred from\n * the body field. Otherwise, the value of the Content-Type MIME header will be inferred based on the type of the body.\n */\n contentType?: string | null;\n\n /**\n * The disposition type of this part (for example, \"form-data\" for parts making up a multipart/form-data request). If set, this value\n * will be used to set the Content-Disposition MIME header for this part, in addition to the `name` and `filename` properties.\n * If the `name` or `filename` properties are set while `dispositionType` is left undefined, `dispositionType` will default to \"form-data\".\n *\n * Explicitly setting the Content-Disposition header in the headers bag will override this value.\n */\n dispositionType?: string;\n\n /**\n * The field name associated with this part. This value will be used to construct the Content-Disposition header,\n * along with the `dispositionType` and `filename` properties, if the header has not been set in the `headers` bag.\n */\n name?: string;\n\n /**\n * The file name of the content if it is a file. This value will be used to construct the Content-Disposition header,\n * along with the `dispositionType` and `name` properties, if the header has not been set in the `headers` bag.\n */\n filename?: string;\n\n /**\n * The multipart headers for this part of the multipart body. Values of the Content-Type and Content-Disposition headers set in the headers bag\n * will take precedence over those computed from the request body or the contentType, dispositionType, name, and filename fields on this object.\n */\n headers?: RawHttpHeadersInput;\n\n /**\n * The body of this part of the multipart request.\n */\n body?: unknown;\n}\n\ntype MultipartBodyType = BodyPart[\"body\"];\n\ntype HeaderValue = RawHttpHeadersInput[string];\n\n/**\n * Get value of a header in the part descriptor ignoring case\n */\nfunction getHeaderValue(descriptor: PartDescriptor, headerName: string): HeaderValue | undefined {\n if (descriptor.headers) {\n const actualHeaderName = Object.keys(descriptor.headers).find(\n (x) => x.toLowerCase() === headerName.toLowerCase(),\n );\n if (actualHeaderName) {\n return descriptor.headers[actualHeaderName];\n }\n }\n\n return undefined;\n}\n\nfunction getPartContentType(descriptor: PartDescriptor): HeaderValue | undefined {\n const contentTypeHeader = getHeaderValue(descriptor, \"content-type\");\n if (contentTypeHeader) {\n return contentTypeHeader;\n }\n\n // Special value of null means content type is to be omitted\n if (descriptor.contentType === null) {\n return undefined;\n }\n\n if (descriptor.contentType) {\n return descriptor.contentType;\n }\n\n const { body } = descriptor;\n\n if (body === null || body === undefined) {\n return undefined;\n }\n\n if (typeof body === \"string\" || typeof body === \"number\" || typeof body === \"boolean\") {\n return \"text/plain; charset=UTF-8\";\n }\n\n if (body instanceof Blob) {\n return body.type || \"application/octet-stream\";\n }\n\n if (isBinaryBody(body)) {\n return \"application/octet-stream\";\n }\n\n // arbitrary non-text object -> generic JSON content type by default. We will try to JSON.stringify the body.\n return \"application/json\";\n}\n\n/**\n * Enclose value in quotes and escape special characters, for use in the Content-Disposition header\n */\nfunction escapeDispositionField(value: string): string {\n return JSON.stringify(value);\n}\n\nfunction getContentDisposition(descriptor: PartDescriptor): HeaderValue | undefined {\n const contentDispositionHeader = getHeaderValue(descriptor, \"content-disposition\");\n if (contentDispositionHeader) {\n return contentDispositionHeader;\n }\n\n if (\n descriptor.dispositionType === undefined &&\n descriptor.name === undefined &&\n descriptor.filename === undefined\n ) {\n return undefined;\n }\n\n const dispositionType = descriptor.dispositionType ?? \"form-data\";\n\n let disposition = dispositionType;\n if (descriptor.name) {\n disposition += `; name=${escapeDispositionField(descriptor.name)}`;\n }\n\n let filename: string | undefined = undefined;\n if (descriptor.filename) {\n filename = descriptor.filename;\n } else if (typeof File !== \"undefined\" && descriptor.body instanceof File) {\n const filenameFromFile = (descriptor.body as File).name;\n if (filenameFromFile !== \"\") {\n filename = filenameFromFile;\n }\n }\n\n if (filename) {\n disposition += `; filename=${escapeDispositionField(filename)}`;\n }\n\n return disposition;\n}\n\nfunction normalizeBody(body?: unknown, contentType?: HeaderValue): MultipartBodyType {\n if (body === undefined) {\n // zero-length body\n return new Uint8Array([]);\n }\n\n // binary and primitives should go straight on the wire regardless of content type\n if (isBinaryBody(body)) {\n return body;\n }\n if (typeof body === \"string\" || typeof body === \"number\" || typeof body === \"boolean\") {\n return stringToUint8Array(String(body), \"utf-8\");\n }\n\n // stringify objects for JSON-ish content types e.g. application/json, application/merge-patch+json, application/vnd.oci.manifest.v1+json, application.json; charset=UTF-8\n if (contentType && /application\\/(.+\\+)?json(;.+)?/i.test(String(contentType))) {\n return stringToUint8Array(JSON.stringify(body), \"utf-8\");\n }\n\n throw new RestError(`Unsupported body/content-type combination: ${body}, ${contentType}`);\n}\n\nexport function buildBodyPart(descriptor: PartDescriptor): BodyPart {\n const contentType = getPartContentType(descriptor);\n const contentDisposition = getContentDisposition(descriptor);\n const headers = createHttpHeaders(descriptor.headers ?? {});\n\n if (contentType) {\n headers.set(\"content-type\", contentType);\n }\n if (contentDisposition) {\n headers.set(\"content-disposition\", contentDisposition);\n }\n\n const body = normalizeBody(descriptor.body, contentType);\n\n return {\n headers,\n body,\n };\n}\n\nexport function buildMultipartBody(parts: PartDescriptor[]): MultipartRequestBody {\n return { parts: parts.map(buildBodyPart) };\n}\n"]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["/mnt/vss/_work/1/s/sdk/core/ts-http-runtime/src/client/multipart.ts"],
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { BodyPart, MultipartRequestBody, RawHttpHeadersInput } from \"../interfaces.js\";\nimport { RestError } from \"../restError.js\";\nimport { createHttpHeaders } from \"../httpHeaders.js\";\nimport { stringToUint8Array } from \"../util/bytesEncoding.js\";\nimport { isBinaryBody } from \"../util/typeGuards.js\";\n\n/**\n * Describes a single part in a multipart body.\n */\nexport interface PartDescriptor {\n /**\n * Content type of this part. If set, this value will be used to set the Content-Type MIME header for this part, although explicitly\n * setting the Content-Type header in the headers bag will override this value. If set to `null`, no content type will be inferred from\n * the body field. Otherwise, the value of the Content-Type MIME header will be inferred based on the type of the body.\n */\n contentType?: string | null;\n\n /**\n * The disposition type of this part (for example, \"form-data\" for parts making up a multipart/form-data request). If set, this value\n * will be used to set the Content-Disposition MIME header for this part, in addition to the `name` and `filename` properties.\n * If the `name` or `filename` properties are set while `dispositionType` is left undefined, `dispositionType` will default to \"form-data\".\n *\n * Explicitly setting the Content-Disposition header in the headers bag will override this value.\n */\n dispositionType?: string;\n\n /**\n * The field name associated with this part. This value will be used to construct the Content-Disposition header,\n * along with the `dispositionType` and `filename` properties, if the header has not been set in the `headers` bag.\n */\n name?: string;\n\n /**\n * The file name of the content if it is a file. This value will be used to construct the Content-Disposition header,\n * along with the `dispositionType` and `name` properties, if the header has not been set in the `headers` bag.\n */\n filename?: string;\n\n /**\n * The multipart headers for this part of the multipart body. Values of the Content-Type and Content-Disposition headers set in the headers bag\n * will take precedence over those computed from the request body or the contentType, dispositionType, name, and filename fields on this object.\n */\n headers?: RawHttpHeadersInput;\n\n /**\n * The body of this part of the multipart request.\n */\n body?: unknown;\n}\n\ntype MultipartBodyType = BodyPart[\"body\"];\n\ntype HeaderValue = RawHttpHeadersInput[string];\n\n/**\n * Get value of a header in the part descriptor ignoring case\n */\nfunction getHeaderValue(descriptor: PartDescriptor, headerName: string): HeaderValue | undefined {\n if (descriptor.headers) {\n const actualHeaderName = Object.keys(descriptor.headers).find(\n (x) => x.toLowerCase() === headerName.toLowerCase(),\n );\n if (actualHeaderName) {\n return descriptor.headers[actualHeaderName];\n }\n }\n\n return undefined;\n}\n\nfunction getPartContentType(descriptor: PartDescriptor): HeaderValue | undefined {\n const contentTypeHeader = getHeaderValue(descriptor, \"content-type\");\n if (contentTypeHeader) {\n return contentTypeHeader;\n }\n\n // Special value of null means content type is to be omitted\n if (descriptor.contentType === null) {\n return undefined;\n }\n\n if (descriptor.contentType) {\n return descriptor.contentType;\n }\n\n const { body } = descriptor;\n\n if (body === null || body === undefined) {\n return undefined;\n }\n\n if (typeof body === \"string\" || typeof body === \"number\" || typeof body === \"boolean\") {\n return \"text/plain; charset=UTF-8\";\n }\n\n if (body instanceof Blob) {\n return body.type || \"application/octet-stream\";\n }\n\n if (isBinaryBody(body)) {\n return \"application/octet-stream\";\n }\n\n // arbitrary non-text object -> generic JSON content type by default. We will try to JSON.stringify the body.\n return \"application/json\";\n}\n\n/**\n * Enclose value in quotes and escape special characters, for use in the Content-Disposition header\n */\nfunction escapeDispositionField(value: string): string {\n return JSON.stringify(value);\n}\n\nfunction getContentDisposition(descriptor: PartDescriptor): HeaderValue | undefined {\n const contentDispositionHeader = getHeaderValue(descriptor, \"content-disposition\");\n if (contentDispositionHeader) {\n return contentDispositionHeader;\n }\n\n if (\n descriptor.dispositionType === undefined &&\n descriptor.name === undefined &&\n descriptor.filename === undefined\n ) {\n return undefined;\n }\n\n const dispositionType = descriptor.dispositionType ?? \"form-data\";\n\n let disposition = dispositionType;\n if (descriptor.name) {\n disposition += `; name=${escapeDispositionField(descriptor.name)}`;\n }\n\n let filename: string | undefined = undefined;\n if (descriptor.filename) {\n filename = descriptor.filename;\n } else if (typeof File !== \"undefined\" && descriptor.body instanceof File) {\n const filenameFromFile = (descriptor.body as File).name;\n if (filenameFromFile !== \"\") {\n filename = filenameFromFile;\n }\n }\n\n if (filename) {\n disposition += `; filename=${escapeDispositionField(filename)}`;\n }\n\n return disposition;\n}\n\nfunction normalizeBody(body?: unknown, contentType?: HeaderValue): MultipartBodyType {\n if (body === undefined) {\n // zero-length body\n return new Uint8Array([]);\n }\n\n // binary and primitives should go straight on the wire regardless of content type\n if (isBinaryBody(body)) {\n return body;\n }\n if (typeof body === \"string\" || typeof body === \"number\" || typeof body === \"boolean\") {\n return stringToUint8Array(String(body), \"utf-8\");\n }\n\n // stringify objects for JSON-ish content types e.g. application/json, application/merge-patch+json, application/vnd.oci.manifest.v1+json, application.json; charset=UTF-8\n if (contentType && /application\\/(.+\\+)?json(;.+)?/i.test(String(contentType))) {\n return stringToUint8Array(JSON.stringify(body), \"utf-8\");\n }\n\n throw new RestError(`Unsupported body/content-type combination: ${body}, ${contentType}`);\n}\n\nexport function buildBodyPart(descriptor: PartDescriptor): BodyPart {\n const contentType = getPartContentType(descriptor);\n const contentDisposition = getContentDisposition(descriptor);\n const headers = createHttpHeaders(descriptor.headers ?? {});\n\n if (contentType) {\n headers.set(\"content-type\", contentType);\n }\n if (contentDisposition) {\n headers.set(\"content-disposition\", contentDisposition);\n }\n\n const body = normalizeBody(descriptor.body, contentType);\n\n return {\n headers,\n body,\n };\n}\n\nexport function buildMultipartBody(parts: PartDescriptor[]): MultipartRequestBody {\n return { parts: parts.map(buildBodyPart) };\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,23 +1,38 @@
1
- "use strict";
2
- // Copyright (c) Microsoft Corporation.
3
- // Licensed under the MIT License.
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.operationOptionsToRequestParameters = operationOptionsToRequestParameters;
6
- /**
7
- * Helper function to convert OperationOptions to RequestParameters
8
- * @param options - the options that are used by Modular layer to send the request
9
- * @returns the result of the conversion in RequestParameters of RLC layer
10
- */
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var operationOptionHelpers_exports = {};
19
+ __export(operationOptionHelpers_exports, {
20
+ operationOptionsToRequestParameters: () => operationOptionsToRequestParameters
21
+ });
22
+ module.exports = __toCommonJS(operationOptionHelpers_exports);
11
23
  function operationOptionsToRequestParameters(options) {
12
- return {
13
- allowInsecureConnection: options.requestOptions?.allowInsecureConnection,
14
- timeout: options.requestOptions?.timeout,
15
- skipUrlEncoding: options.requestOptions?.skipUrlEncoding,
16
- abortSignal: options.abortSignal,
17
- onUploadProgress: options.requestOptions?.onUploadProgress,
18
- onDownloadProgress: options.requestOptions?.onDownloadProgress,
19
- headers: { ...options.requestOptions?.headers },
20
- onResponse: options.onResponse,
21
- };
24
+ return {
25
+ allowInsecureConnection: options.requestOptions?.allowInsecureConnection,
26
+ timeout: options.requestOptions?.timeout,
27
+ skipUrlEncoding: options.requestOptions?.skipUrlEncoding,
28
+ abortSignal: options.abortSignal,
29
+ onUploadProgress: options.requestOptions?.onUploadProgress,
30
+ onDownloadProgress: options.requestOptions?.onDownloadProgress,
31
+ headers: { ...options.requestOptions?.headers },
32
+ onResponse: options.onResponse
33
+ };
22
34
  }
23
- //# sourceMappingURL=operationOptionHelpers.js.map
35
+ // Annotate the CommonJS export names for ESM import in node:
36
+ 0 && (module.exports = {
37
+ operationOptionsToRequestParameters
38
+ });
@@ -1 +1,7 @@
1
- {"version":3,"file":"operationOptionHelpers.js","sourceRoot":"","sources":["../../../src/client/operationOptionHelpers.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;AASlC,kFAWC;AAhBD;;;;GAIG;AACH,SAAgB,mCAAmC,CAAC,OAAyB;IAC3E,OAAO;QACL,uBAAuB,EAAE,OAAO,CAAC,cAAc,EAAE,uBAAuB;QACxE,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE,OAAO;QACxC,eAAe,EAAE,OAAO,CAAC,cAAc,EAAE,eAAe;QACxD,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,gBAAgB,EAAE,OAAO,CAAC,cAAc,EAAE,gBAAgB;QAC1D,kBAAkB,EAAE,OAAO,CAAC,cAAc,EAAE,kBAAkB;QAC9D,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,OAAO,EAAE;QAC/C,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { OperationOptions, RequestParameters } from \"./common.js\";\n\n/**\n * Helper function to convert OperationOptions to RequestParameters\n * @param options - the options that are used by Modular layer to send the request\n * @returns the result of the conversion in RequestParameters of RLC layer\n */\nexport function operationOptionsToRequestParameters(options: OperationOptions): RequestParameters {\n return {\n allowInsecureConnection: options.requestOptions?.allowInsecureConnection,\n timeout: options.requestOptions?.timeout,\n skipUrlEncoding: options.requestOptions?.skipUrlEncoding,\n abortSignal: options.abortSignal,\n onUploadProgress: options.requestOptions?.onUploadProgress,\n onDownloadProgress: options.requestOptions?.onDownloadProgress,\n headers: { ...options.requestOptions?.headers },\n onResponse: options.onResponse,\n };\n}\n"]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["/mnt/vss/_work/1/s/sdk/core/ts-http-runtime/src/client/operationOptionHelpers.ts"],
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { OperationOptions, RequestParameters } from \"./common.js\";\n\n/**\n * Helper function to convert OperationOptions to RequestParameters\n * @param options - the options that are used by Modular layer to send the request\n * @returns the result of the conversion in RequestParameters of RLC layer\n */\nexport function operationOptionsToRequestParameters(options: OperationOptions): RequestParameters {\n return {\n allowInsecureConnection: options.requestOptions?.allowInsecureConnection,\n timeout: options.requestOptions?.timeout,\n skipUrlEncoding: options.requestOptions?.skipUrlEncoding,\n abortSignal: options.abortSignal,\n onUploadProgress: options.requestOptions?.onUploadProgress,\n onDownloadProgress: options.requestOptions?.onDownloadProgress,\n headers: { ...options.requestOptions?.headers },\n onResponse: options.onResponse,\n };\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUO,SAAS,oCAAoC,SAA8C;AAChG,SAAO;AAAA,IACL,yBAAyB,QAAQ,gBAAgB;AAAA,IACjD,SAAS,QAAQ,gBAAgB;AAAA,IACjC,iBAAiB,QAAQ,gBAAgB;AAAA,IACzC,aAAa,QAAQ;AAAA,IACrB,kBAAkB,QAAQ,gBAAgB;AAAA,IAC1C,oBAAoB,QAAQ,gBAAgB;AAAA,IAC5C,SAAS,EAAE,GAAG,QAAQ,gBAAgB,QAAQ;AAAA,IAC9C,YAAY,QAAQ;AAAA,EACtB;AACF;",
6
+ "names": []
7
+ }
@@ -1,32 +1,50 @@
1
- "use strict";
2
- // Copyright (c) Microsoft Corporation.
3
- // Licensed under the MIT License.
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.createRestError = createRestError;
6
- const restError_js_1 = require("../restError.js");
7
- const httpHeaders_js_1 = require("../httpHeaders.js");
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var restError_exports = {};
19
+ __export(restError_exports, {
20
+ createRestError: () => createRestError
21
+ });
22
+ module.exports = __toCommonJS(restError_exports);
23
+ var import_restError = require("../restError.js");
24
+ var import_httpHeaders = require("../httpHeaders.js");
8
25
  function createRestError(messageOrResponse, response) {
9
- const resp = typeof messageOrResponse === "string" ? response : messageOrResponse;
10
- const internalError = resp.body?.error ?? resp.body;
11
- const message = typeof messageOrResponse === "string"
12
- ? messageOrResponse
13
- : (internalError?.message ?? `Unexpected status code: ${resp.status}`);
14
- return new restError_js_1.RestError(message, {
15
- statusCode: statusCodeToNumber(resp.status),
16
- code: internalError?.code,
17
- request: resp.request,
18
- response: toPipelineResponse(resp),
19
- });
26
+ const resp = typeof messageOrResponse === "string" ? response : messageOrResponse;
27
+ const internalError = resp.body?.error ?? resp.body;
28
+ const message = typeof messageOrResponse === "string" ? messageOrResponse : internalError?.message ?? `Unexpected status code: ${resp.status}`;
29
+ return new import_restError.RestError(message, {
30
+ statusCode: statusCodeToNumber(resp.status),
31
+ code: internalError?.code,
32
+ request: resp.request,
33
+ response: toPipelineResponse(resp)
34
+ });
20
35
  }
21
36
  function toPipelineResponse(response) {
22
- return {
23
- headers: (0, httpHeaders_js_1.createHttpHeaders)(response.headers),
24
- request: response.request,
25
- status: statusCodeToNumber(response.status) ?? -1,
26
- };
37
+ return {
38
+ headers: (0, import_httpHeaders.createHttpHeaders)(response.headers),
39
+ request: response.request,
40
+ status: statusCodeToNumber(response.status) ?? -1
41
+ };
27
42
  }
28
43
  function statusCodeToNumber(statusCode) {
29
- const status = Number.parseInt(statusCode);
30
- return Number.isNaN(status) ? undefined : status;
44
+ const status = Number.parseInt(statusCode);
45
+ return Number.isNaN(status) ? void 0 : status;
31
46
  }
32
- //# sourceMappingURL=restError.js.map
47
+ // Annotate the CommonJS export names for ESM import in node:
48
+ 0 && (module.exports = {
49
+ createRestError
50
+ });
@@ -1 +1,7 @@
1
- {"version":3,"file":"restError.js","sourceRoot":"","sources":["../../../src/client/restError.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;AAelC,0CAgBC;AA5BD,kDAA4C;AAC5C,sDAAsD;AAWtD,SAAgB,eAAe,CAC7B,iBAAiD,EACjD,QAAgC;IAEhC,MAAM,IAAI,GAAG,OAAO,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC;IACnF,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC;IACpD,MAAM,OAAO,GACX,OAAO,iBAAiB,KAAK,QAAQ;QACnC,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,CAAC,aAAa,EAAE,OAAO,IAAI,2BAA2B,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3E,OAAO,IAAI,wBAAS,CAAC,OAAO,EAAE;QAC5B,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3C,IAAI,EAAE,aAAa,EAAE,IAAI;QACzB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC;KACnC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,QAA+B;IACzD,OAAO;QACL,OAAO,EAAE,IAAA,kCAAiB,EAAC,QAAQ,CAAC,OAAO,CAAC;QAC5C,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KAClD,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAkB;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAE3C,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;AACnD,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PipelineResponse } from \"../interfaces.js\";\nimport { RestError } from \"../restError.js\";\nimport { createHttpHeaders } from \"../httpHeaders.js\";\nimport type { PathUncheckedResponse } from \"./common.js\";\n\n/**\n * Creates a rest error from a PathUnchecked response\n */\nexport function createRestError(response: PathUncheckedResponse): RestError;\n/**\n * Creates a rest error from an error message and a PathUnchecked response\n */\nexport function createRestError(message: string, response: PathUncheckedResponse): RestError;\nexport function createRestError(\n messageOrResponse: string | PathUncheckedResponse,\n response?: PathUncheckedResponse,\n): RestError {\n const resp = typeof messageOrResponse === \"string\" ? response! : messageOrResponse;\n const internalError = resp.body?.error ?? resp.body;\n const message =\n typeof messageOrResponse === \"string\"\n ? messageOrResponse\n : (internalError?.message ?? `Unexpected status code: ${resp.status}`);\n return new RestError(message, {\n statusCode: statusCodeToNumber(resp.status),\n code: internalError?.code,\n request: resp.request,\n response: toPipelineResponse(resp),\n });\n}\n\nfunction toPipelineResponse(response: PathUncheckedResponse): PipelineResponse {\n return {\n headers: createHttpHeaders(response.headers),\n request: response.request,\n status: statusCodeToNumber(response.status) ?? -1,\n };\n}\n\nfunction statusCodeToNumber(statusCode: string): number | undefined {\n const status = Number.parseInt(statusCode);\n\n return Number.isNaN(status) ? undefined : status;\n}\n"]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["/mnt/vss/_work/1/s/sdk/core/ts-http-runtime/src/client/restError.ts"],
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PipelineResponse } from \"../interfaces.js\";\nimport { RestError } from \"../restError.js\";\nimport { createHttpHeaders } from \"../httpHeaders.js\";\nimport type { PathUncheckedResponse } from \"./common.js\";\n\n/**\n * Creates a rest error from a PathUnchecked response\n */\nexport function createRestError(response: PathUncheckedResponse): RestError;\n/**\n * Creates a rest error from an error message and a PathUnchecked response\n */\nexport function createRestError(message: string, response: PathUncheckedResponse): RestError;\nexport function createRestError(\n messageOrResponse: string | PathUncheckedResponse,\n response?: PathUncheckedResponse,\n): RestError {\n const resp = typeof messageOrResponse === \"string\" ? response! : messageOrResponse;\n const internalError = resp.body?.error ?? resp.body;\n const message =\n typeof messageOrResponse === \"string\"\n ? messageOrResponse\n : (internalError?.message ?? `Unexpected status code: ${resp.status}`);\n return new RestError(message, {\n statusCode: statusCodeToNumber(resp.status),\n code: internalError?.code,\n request: resp.request,\n response: toPipelineResponse(resp),\n });\n}\n\nfunction toPipelineResponse(response: PathUncheckedResponse): PipelineResponse {\n return {\n headers: createHttpHeaders(response.headers),\n request: response.request,\n status: statusCodeToNumber(response.status) ?? -1,\n };\n}\n\nfunction statusCodeToNumber(statusCode: string): number | undefined {\n const status = Number.parseInt(statusCode);\n\n return Number.isNaN(status) ? undefined : status;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,uBAA0B;AAC1B,yBAAkC;AAW3B,SAAS,gBACd,mBACA,UACW;AACX,QAAM,OAAO,OAAO,sBAAsB,WAAW,WAAY;AACjE,QAAM,gBAAgB,KAAK,MAAM,SAAS,KAAK;AAC/C,QAAM,UACJ,OAAO,sBAAsB,WACzB,oBACC,eAAe,WAAW,2BAA2B,KAAK,MAAM;AACvE,SAAO,IAAI,2BAAU,SAAS;AAAA,IAC5B,YAAY,mBAAmB,KAAK,MAAM;AAAA,IAC1C,MAAM,eAAe;AAAA,IACrB,SAAS,KAAK;AAAA,IACd,UAAU,mBAAmB,IAAI;AAAA,EACnC,CAAC;AACH;AAEA,SAAS,mBAAmB,UAAmD;AAC7E,SAAO;AAAA,IACL,aAAS,sCAAkB,SAAS,OAAO;AAAA,IAC3C,SAAS,SAAS;AAAA,IAClB,QAAQ,mBAAmB,SAAS,MAAM,KAAK;AAAA,EACjD;AACF;AAEA,SAAS,mBAAmB,YAAwC;AAClE,QAAM,SAAS,OAAO,SAAS,UAAU;AAEzC,SAAO,OAAO,MAAM,MAAM,IAAI,SAAY;AAC5C;",
6
+ "names": []
7
+ }
@@ -1,4 +1,4 @@
1
- import type { HttpClient, HttpMethods } from "../interfaces.js";
1
+ import type { HttpClient, HttpMethods, MultipartRequestBody, RequestBodyType } from "../interfaces.js";
2
2
  import type { Pipeline } from "../pipeline.js";
3
3
  import type { HttpResponse, RequestParameters } from "./common.js";
4
4
  /**
@@ -14,4 +14,13 @@ export declare function sendRequest(method: HttpMethods, url: string, pipeline:
14
14
  export interface InternalRequestParameters extends RequestParameters {
15
15
  responseAsStream?: boolean;
16
16
  }
17
+ interface RequestBody {
18
+ body?: RequestBodyType;
19
+ multipartBody?: MultipartRequestBody;
20
+ }
21
+ /**
22
+ * Prepares the body before sending the request
23
+ */
24
+ export declare function getRequestBody(body?: unknown, contentType?: string): RequestBody;
25
+ export {};
17
26
  //# sourceMappingURL=sendRequest.d.ts.map
@@ -1,183 +1,169 @@
1
- "use strict";
2
- // Copyright (c) Microsoft Corporation.
3
- // Licensed under the MIT License.
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.sendRequest = sendRequest;
6
- const restError_js_1 = require("../restError.js");
7
- const httpHeaders_js_1 = require("../httpHeaders.js");
8
- const pipelineRequest_js_1 = require("../pipelineRequest.js");
9
- const clientHelpers_js_1 = require("./clientHelpers.js");
10
- const typeGuards_js_1 = require("../util/typeGuards.js");
11
- const multipart_js_1 = require("./multipart.js");
12
- /**
13
- * Helper function to send request used by the client
14
- * @param method - method to use to send the request
15
- * @param url - url to send the request to
16
- * @param pipeline - pipeline with the policies to run when sending the request
17
- * @param options - request options
18
- * @param customHttpClient - a custom HttpClient to use when making the request
19
- * @returns returns and HttpResponse
20
- */
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var sendRequest_exports = {};
19
+ __export(sendRequest_exports, {
20
+ getRequestBody: () => getRequestBody,
21
+ sendRequest: () => sendRequest
22
+ });
23
+ module.exports = __toCommonJS(sendRequest_exports);
24
+ var import_restError = require("../restError.js");
25
+ var import_httpHeaders = require("../httpHeaders.js");
26
+ var import_pipelineRequest = require("../pipelineRequest.js");
27
+ var import_clientHelpers = require("./clientHelpers.js");
28
+ var import_typeGuards = require("../util/typeGuards.js");
29
+ var import_multipart = require("./multipart.js");
21
30
  async function sendRequest(method, url, pipeline, options = {}, customHttpClient) {
22
- const httpClient = customHttpClient ?? (0, clientHelpers_js_1.getCachedDefaultHttpsClient)();
23
- const request = buildPipelineRequest(method, url, options);
24
- try {
25
- const response = await pipeline.sendRequest(httpClient, request);
26
- const headers = response.headers.toJSON();
27
- const stream = response.readableStreamBody ?? response.browserStreamBody;
28
- const parsedBody = options.responseAsStream || stream !== undefined ? undefined : getResponseBody(response);
29
- const body = stream ?? parsedBody;
30
- if (options?.onResponse) {
31
- options.onResponse({ ...response, request, rawHeaders: headers, parsedBody });
32
- }
33
- return {
34
- request,
35
- headers,
36
- status: `${response.status}`,
37
- body,
38
- };
31
+ const httpClient = customHttpClient ?? (0, import_clientHelpers.getCachedDefaultHttpsClient)();
32
+ const request = buildPipelineRequest(method, url, options);
33
+ try {
34
+ const response = await pipeline.sendRequest(httpClient, request);
35
+ const headers = response.headers.toJSON();
36
+ const stream = response.readableStreamBody ?? response.browserStreamBody;
37
+ const parsedBody = options.responseAsStream || stream !== void 0 ? void 0 : getResponseBody(response);
38
+ const body = stream ?? parsedBody;
39
+ if (options?.onResponse) {
40
+ options.onResponse({ ...response, request, rawHeaders: headers, parsedBody });
39
41
  }
40
- catch (e) {
41
- if ((0, restError_js_1.isRestError)(e) && e.response && options.onResponse) {
42
- const { response } = e;
43
- const rawHeaders = response.headers.toJSON();
44
- // UNBRANDED DIFFERENCE: onResponse callback does not have a second __legacyError property
45
- options?.onResponse({ ...response, request, rawHeaders }, e);
46
- }
47
- throw e;
42
+ return {
43
+ request,
44
+ headers,
45
+ status: `${response.status}`,
46
+ body
47
+ };
48
+ } catch (e) {
49
+ if ((0, import_restError.isRestError)(e) && e.response && options.onResponse) {
50
+ const { response } = e;
51
+ const rawHeaders = response.headers.toJSON();
52
+ options?.onResponse({ ...response, request, rawHeaders }, e);
48
53
  }
54
+ throw e;
55
+ }
49
56
  }
50
- /**
51
- * Function to determine the request content type
52
- * @param options - request options InternalRequestParameters
53
- * @returns returns the content-type
54
- */
55
57
  function getRequestContentType(options = {}) {
56
- return (options.contentType ??
57
- options.headers?.["content-type"] ??
58
- getContentType(options.body));
58
+ return options.contentType ?? options.headers?.["content-type"] ?? getContentType(options.body);
59
59
  }
60
- /**
61
- * Function to determine the content-type of a body
62
- * this is used if an explicit content-type is not provided
63
- * @param body - body in the request
64
- * @returns returns the content-type
65
- */
66
60
  function getContentType(body) {
67
- if (body === undefined) {
68
- return undefined;
69
- }
70
- if (ArrayBuffer.isView(body)) {
71
- return "application/octet-stream";
72
- }
73
- if (typeof body === "string") {
74
- try {
75
- JSON.parse(body);
76
- return "application/json";
77
- }
78
- catch (error) {
79
- // If we fail to parse the body, it is not json
80
- return undefined;
81
- }
61
+ if (body === void 0) {
62
+ return void 0;
63
+ }
64
+ if (ArrayBuffer.isView(body)) {
65
+ return "application/octet-stream";
66
+ }
67
+ if ((0, import_typeGuards.isBlob)(body) && body.type) {
68
+ return body.type;
69
+ }
70
+ if (typeof body === "string") {
71
+ try {
72
+ JSON.parse(body);
73
+ return "application/json";
74
+ } catch (error) {
75
+ return void 0;
82
76
  }
83
- // By default return json
84
- return "application/json";
77
+ }
78
+ return "application/json";
85
79
  }
86
80
  function buildPipelineRequest(method, url, options = {}) {
87
- const requestContentType = getRequestContentType(options);
88
- const { body, multipartBody } = getRequestBody(options.body, requestContentType);
89
- const headers = (0, httpHeaders_js_1.createHttpHeaders)({
90
- ...(options.headers ? options.headers : {}),
91
- accept: options.accept ?? options.headers?.accept ?? "application/json",
92
- ...(requestContentType && {
93
- "content-type": requestContentType,
94
- }),
95
- });
96
- return (0, pipelineRequest_js_1.createPipelineRequest)({
97
- url,
98
- method,
99
- body,
100
- multipartBody,
101
- headers,
102
- allowInsecureConnection: options.allowInsecureConnection,
103
- abortSignal: options.abortSignal,
104
- onUploadProgress: options.onUploadProgress,
105
- onDownloadProgress: options.onDownloadProgress,
106
- timeout: options.timeout,
107
- enableBrowserStreams: true,
108
- streamResponseStatusCodes: options.responseAsStream
109
- ? new Set([Number.POSITIVE_INFINITY])
110
- : undefined,
111
- });
81
+ const requestContentType = getRequestContentType(options);
82
+ const { body, multipartBody } = getRequestBody(options.body, requestContentType);
83
+ const headers = (0, import_httpHeaders.createHttpHeaders)({
84
+ ...options.headers ? options.headers : {},
85
+ accept: options.accept ?? options.headers?.accept ?? "application/json",
86
+ ...requestContentType && {
87
+ "content-type": requestContentType
88
+ }
89
+ });
90
+ return (0, import_pipelineRequest.createPipelineRequest)({
91
+ url,
92
+ method,
93
+ body,
94
+ multipartBody,
95
+ headers,
96
+ allowInsecureConnection: options.allowInsecureConnection,
97
+ abortSignal: options.abortSignal,
98
+ onUploadProgress: options.onUploadProgress,
99
+ onDownloadProgress: options.onDownloadProgress,
100
+ timeout: options.timeout,
101
+ enableBrowserStreams: true,
102
+ streamResponseStatusCodes: options.responseAsStream ? /* @__PURE__ */ new Set([Number.POSITIVE_INFINITY]) : void 0
103
+ });
112
104
  }
113
- /**
114
- * Prepares the body before sending the request
115
- */
116
105
  function getRequestBody(body, contentType = "") {
117
- if (body === undefined) {
118
- return { body: undefined };
119
- }
120
- if (typeof FormData !== "undefined" && body instanceof FormData) {
121
- return { body };
122
- }
123
- if ((0, typeGuards_js_1.isReadableStream)(body) || typeof body === "function") {
106
+ if (body === void 0) {
107
+ return { body: void 0 };
108
+ }
109
+ if (typeof FormData !== "undefined" && body instanceof FormData) {
110
+ return { body };
111
+ }
112
+ if ((0, import_typeGuards.isBlob)(body)) {
113
+ return { body };
114
+ }
115
+ if ((0, import_typeGuards.isReadableStream)(body) || typeof body === "function") {
116
+ return { body };
117
+ }
118
+ if (ArrayBuffer.isView(body)) {
119
+ return { body: body instanceof Uint8Array ? body : JSON.stringify(body) };
120
+ }
121
+ const firstType = contentType.split(";")[0];
122
+ switch (firstType) {
123
+ case "application/json":
124
+ return { body: JSON.stringify(body) };
125
+ case "multipart/form-data":
126
+ if (Array.isArray(body)) {
127
+ return { multipartBody: (0, import_multipart.buildMultipartBody)(body) };
128
+ }
129
+ return { body: JSON.stringify(body) };
130
+ case "text/plain":
131
+ return { body: String(body) };
132
+ default:
133
+ if (typeof body === "string") {
124
134
  return { body };
125
- }
126
- if (ArrayBuffer.isView(body)) {
127
- return { body: body instanceof Uint8Array ? body : JSON.stringify(body) };
128
- }
129
- const firstType = contentType.split(";")[0];
130
- switch (firstType) {
131
- case "application/json":
132
- return { body: JSON.stringify(body) };
133
- case "multipart/form-data":
134
- if (Array.isArray(body)) {
135
- return { multipartBody: (0, multipart_js_1.buildMultipartBody)(body) };
136
- }
137
- return { body: JSON.stringify(body) };
138
- case "text/plain":
139
- return { body: String(body) };
140
- default:
141
- if (typeof body === "string") {
142
- return { body };
143
- }
144
- return { body: JSON.stringify(body) };
145
- }
135
+ }
136
+ return { body: JSON.stringify(body) };
137
+ }
146
138
  }
147
- /**
148
- * Prepares the response body
149
- */
150
139
  function getResponseBody(response) {
151
- // Set the default response type
152
- const contentType = response.headers.get("content-type") ?? "";
153
- const firstType = contentType.split(";")[0];
154
- const bodyToParse = response.bodyAsText ?? "";
155
- if (firstType === "text/plain") {
156
- return String(bodyToParse);
157
- }
158
- // Default to "application/json" and fallback to string;
159
- try {
160
- return bodyToParse ? JSON.parse(bodyToParse) : undefined;
161
- }
162
- catch (error) {
163
- // If we were supposed to get a JSON object and failed to
164
- // parse, throw a parse error
165
- if (firstType === "application/json") {
166
- throw createParseError(response, error);
167
- }
168
- // We are not sure how to handle the response so we return it as
169
- // plain text.
170
- return String(bodyToParse);
140
+ const contentType = response.headers.get("content-type") ?? "";
141
+ const firstType = contentType.split(";")[0];
142
+ const bodyToParse = response.bodyAsText ?? "";
143
+ if (firstType === "text/plain") {
144
+ return String(bodyToParse);
145
+ }
146
+ try {
147
+ return bodyToParse ? JSON.parse(bodyToParse) : void 0;
148
+ } catch (error) {
149
+ if (firstType === "application/json") {
150
+ throw createParseError(response, error);
171
151
  }
152
+ return String(bodyToParse);
153
+ }
172
154
  }
173
155
  function createParseError(response, err) {
174
- const msg = `Error "${err}" occurred while parsing the response body - ${response.bodyAsText}.`;
175
- const errCode = err.code ?? restError_js_1.RestError.PARSE_ERROR;
176
- return new restError_js_1.RestError(msg, {
177
- code: errCode,
178
- statusCode: response.status,
179
- request: response.request,
180
- response: response,
181
- });
156
+ const msg = `Error "${err}" occurred while parsing the response body - ${response.bodyAsText}.`;
157
+ const errCode = err.code ?? import_restError.RestError.PARSE_ERROR;
158
+ return new import_restError.RestError(msg, {
159
+ code: errCode,
160
+ statusCode: response.status,
161
+ request: response.request,
162
+ response
163
+ });
182
164
  }
183
- //# sourceMappingURL=sendRequest.js.map
165
+ // Annotate the CommonJS export names for ESM import in node:
166
+ 0 && (module.exports = {
167
+ getRequestBody,
168
+ sendRequest
169
+ });