@cdklabs/cdk-ecs-codedeploy 0.0.437 → 0.0.439

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 (399) hide show
  1. package/.jsii +3 -3
  2. package/lib/api-canary/index.js +1 -1
  3. package/lib/ecs-appspec/index.js +1 -1
  4. package/lib/ecs-deployment/index.js +1 -1
  5. package/lib/ecs-patterns/application-load-balanced-codedeployed-fargate-service.js +1 -1
  6. package/node_modules/@aws-sdk/client-codedeploy/dist-cjs/endpoint/bdd.js +49 -0
  7. package/node_modules/@aws-sdk/client-codedeploy/dist-cjs/endpoint/endpointResolver.js +2 -2
  8. package/node_modules/@aws-sdk/client-codedeploy/dist-es/endpoint/bdd.js +46 -0
  9. package/node_modules/@aws-sdk/client-codedeploy/dist-es/endpoint/endpointResolver.js +3 -3
  10. package/node_modules/@aws-sdk/client-codedeploy/dist-types/endpoint/bdd.d.ts +2 -0
  11. package/node_modules/@aws-sdk/client-codedeploy/dist-types/ts3.4/endpoint/bdd.d.ts +2 -0
  12. package/node_modules/@aws-sdk/client-codedeploy/package.json +34 -34
  13. package/node_modules/@aws-sdk/core/dist-cjs/index.js +72 -61
  14. package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js +3 -0
  15. package/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +70 -61
  16. package/node_modules/@aws-sdk/core/dist-es/submodules/client/setFeature.js +2 -0
  17. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/ProtocolLib.js +11 -10
  18. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/UnionSerde.js +4 -1
  19. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJsonRpcProtocol.js +4 -5
  20. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsRestJsonProtocol.js +2 -1
  21. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonShapeDeserializer.js +6 -4
  22. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonShapeSerializer.js +15 -10
  23. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/experimental/SinglePassJsonShapeSerializer.js +2 -1
  24. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/parseJsonBody.js +17 -17
  25. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/AwsQueryProtocol.js +3 -8
  26. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/QueryShapeSerializer.js +2 -1
  27. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/AwsRestXmlProtocol.js +2 -2
  28. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlShapeSerializer.js +4 -2
  29. package/node_modules/@aws-sdk/core/dist-types/submodules/client/setFeature.d.ts +1 -1
  30. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/JsonShapeSerializer.d.ts +2 -2
  31. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/JsonShapeSerializer.d.ts +1 -1
  32. package/node_modules/@aws-sdk/core/package.json +14 -12
  33. package/node_modules/@aws-sdk/credential-provider-env/package.json +5 -5
  34. package/node_modules/@aws-sdk/credential-provider-http/package.json +10 -10
  35. package/node_modules/@aws-sdk/credential-provider-ini/package.json +14 -14
  36. package/node_modules/@aws-sdk/credential-provider-login/package.json +8 -8
  37. package/node_modules/@aws-sdk/credential-provider-node/package.json +12 -12
  38. package/node_modules/@aws-sdk/credential-provider-process/package.json +6 -6
  39. package/node_modules/@aws-sdk/credential-provider-sso/package.json +8 -8
  40. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +7 -7
  41. package/node_modules/@aws-sdk/middleware-host-header/package.json +4 -4
  42. package/node_modules/@aws-sdk/middleware-logger/package.json +3 -3
  43. package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +4 -4
  44. package/node_modules/@aws-sdk/middleware-sdk-s3/LICENSE +201 -0
  45. package/node_modules/@aws-sdk/middleware-sdk-s3/README.md +4 -0
  46. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js +581 -0
  47. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/toStream.browser.js +11 -0
  48. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/toStream.js +7 -0
  49. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/bucket-endpoint-middleware.js +36 -0
  50. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/check-content-length-header.js +32 -0
  51. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/index.js +9 -0
  52. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/protocol/S3RestXmlProtocol.js +25 -0
  53. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/region-redirect-endpoint-middleware.js +41 -0
  54. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/region-redirect-middleware.js +42 -0
  55. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-expires-middleware.js +33 -0
  56. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/classes/S3ExpressIdentityCache.js +39 -0
  57. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/classes/S3ExpressIdentityCacheEntry.js +14 -0
  58. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/classes/S3ExpressIdentityProviderImpl.js +49 -0
  59. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/classes/SignatureV4S3Express.js +41 -0
  60. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/constants.js +13 -0
  61. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/functions/s3ExpressHttpSigningMiddleware.js +38 -0
  62. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/functions/s3ExpressMiddleware.js +41 -0
  63. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/functions/signS3Express.js +7 -0
  64. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/index.js +7 -0
  65. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/interfaces/S3ExpressIdentity.js +1 -0
  66. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/interfaces/S3ExpressIdentityProvider.js +1 -0
  67. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3Configuration.js +17 -0
  68. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/throw-200-exceptions.js +51 -0
  69. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/toStream.browser.js +8 -0
  70. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/toStream.js +4 -0
  71. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/validate-bucket-name.js +25 -0
  72. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/bucket-endpoint-middleware.d.ts +13 -0
  73. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/check-content-length-header.d.ts +16 -0
  74. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/index.d.ts +9 -0
  75. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/protocol/S3RestXmlProtocol.d.ts +20 -0
  76. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/region-redirect-endpoint-middleware.d.ts +10 -0
  77. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/region-redirect-middleware.d.ts +20 -0
  78. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-expires-middleware.d.ts +26 -0
  79. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/classes/S3ExpressIdentityCache.d.ts +16 -0
  80. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/classes/S3ExpressIdentityCacheEntry.d.ts +16 -0
  81. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/classes/S3ExpressIdentityProviderImpl.d.ts +32 -0
  82. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/classes/SignatureV4S3Express.d.ts +17 -0
  83. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/constants.d.ts +37 -0
  84. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/functions/s3ExpressHttpSigningMiddleware.d.ts +27 -0
  85. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/functions/s3ExpressMiddleware.d.ts +32 -0
  86. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/functions/signS3Express.d.ts +9 -0
  87. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/index.d.ts +9 -0
  88. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/interfaces/S3ExpressIdentity.d.ts +6 -0
  89. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/interfaces/S3ExpressIdentityProvider.d.ts +12 -0
  90. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3Configuration.d.ts +79 -0
  91. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/throw-200-exceptions.d.ts +21 -0
  92. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/toStream.browser.d.ts +4 -0
  93. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/toStream.d.ts +5 -0
  94. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/bucket-endpoint-middleware.d.ts +9 -0
  95. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/check-content-length-header.d.ts +13 -0
  96. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/index.d.ts +9 -0
  97. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/protocol/S3RestXmlProtocol.d.ts +15 -0
  98. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/region-redirect-endpoint-middleware.d.ts +6 -0
  99. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/region-redirect-middleware.d.ts +17 -0
  100. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-expires-middleware.d.ts +14 -0
  101. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/classes/S3ExpressIdentityCache.d.ts +14 -0
  102. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/classes/S3ExpressIdentityCacheEntry.d.ts +12 -0
  103. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/classes/S3ExpressIdentityProviderImpl.d.ts +31 -0
  104. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/classes/SignatureV4S3Express.d.ts +19 -0
  105. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/constants.d.ts +11 -0
  106. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/functions/s3ExpressHttpSigningMiddleware.d.ts +40 -0
  107. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/functions/s3ExpressMiddleware.d.ts +27 -0
  108. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/functions/signS3Express.d.ts +21 -0
  109. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/index.d.ts +17 -0
  110. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/interfaces/S3ExpressIdentity.d.ts +2 -0
  111. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/interfaces/S3ExpressIdentityProvider.d.ts +8 -0
  112. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3Configuration.d.ts +33 -0
  113. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/throw-200-exceptions.d.ts +19 -0
  114. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/toStream.browser.d.ts +1 -0
  115. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/toStream.d.ts +2 -0
  116. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/validate-bucket-name.d.ts +13 -0
  117. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/validate-bucket-name.d.ts +14 -0
  118. package/node_modules/@aws-sdk/middleware-sdk-s3/package.json +79 -0
  119. package/node_modules/@aws-sdk/middleware-user-agent/package.json +8 -8
  120. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/endpoint/bdd.js +100 -0
  121. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/endpoint/endpointResolver.js +2 -2
  122. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/endpoint/bdd.js +90 -0
  123. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/endpoint/endpointResolver.js +2 -2
  124. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/endpoint/bdd.js +80 -0
  125. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/endpoint/endpointResolver.js +2 -2
  126. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/endpoint/bdd.js +80 -0
  127. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/endpoint/endpointResolver.js +2 -2
  128. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/STSClient.js +1 -0
  129. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/auth/httpAuthSchemeProvider.js +87 -5
  130. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/endpoint/bdd.js +150 -0
  131. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/endpoint/endpointResolver.js +2 -2
  132. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/models/errors.js +1 -0
  133. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/runtimeConfig.js +6 -0
  134. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/runtimeConfig.shared.js +7 -0
  135. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/endpoint/bdd.js +97 -0
  136. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/endpoint/endpointResolver.js +3 -3
  137. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/bdd.js +87 -0
  138. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/endpointResolver.js +3 -3
  139. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/endpoint/bdd.js +77 -0
  140. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/endpoint/endpointResolver.js +3 -3
  141. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/bdd.js +77 -0
  142. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/endpointResolver.js +3 -3
  143. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/STSClient.js +1 -0
  144. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/auth/httpAuthSchemeProvider.js +88 -4
  145. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/bdd.js +147 -0
  146. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/endpointResolver.js +3 -3
  147. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/errors.js +1 -0
  148. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.js +7 -1
  149. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.shared.js +8 -1
  150. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/endpoint/bdd.d.ts +2 -0
  151. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/endpoint/bdd.d.ts +2 -0
  152. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/endpoint/bdd.d.ts +2 -0
  153. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/endpoint/bdd.d.ts +2 -0
  154. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/auth/httpAuthSchemeProvider.d.ts +15 -7
  155. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/endpoint/bdd.d.ts +2 -0
  156. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/models/errors.d.ts +1 -0
  157. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.browser.d.ts +3 -2
  158. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.d.ts +10 -4
  159. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.native.d.ts +3 -2
  160. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.shared.d.ts +3 -1
  161. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/endpoint/bdd.d.ts +2 -0
  162. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/endpoint/bdd.d.ts +2 -0
  163. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/endpoint/bdd.d.ts +2 -0
  164. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/endpoint/bdd.d.ts +2 -0
  165. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/auth/httpAuthSchemeProvider.d.ts +20 -9
  166. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/endpoint/bdd.d.ts +2 -0
  167. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/models/errors.d.ts +1 -0
  168. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.browser.d.ts +11 -5
  169. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.d.ts +35 -16
  170. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.native.d.ts +11 -5
  171. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.shared.d.ts +8 -1
  172. package/node_modules/@aws-sdk/nested-clients/package.json +33 -32
  173. package/node_modules/@aws-sdk/region-config-resolver/package.json +5 -5
  174. package/node_modules/@aws-sdk/signature-v4-multi-region/LICENSE +201 -0
  175. package/node_modules/@aws-sdk/signature-v4-multi-region/README.md +32 -0
  176. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-cjs/index.js +121 -0
  177. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-es/SignatureV4MultiRegion.js +112 -0
  178. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-es/index.js +2 -0
  179. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-es/signature-v4-crt-container.js +3 -0
  180. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/SignatureV4MultiRegion.d.ts +35 -0
  181. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/index.d.ts +5 -0
  182. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/signature-v4-crt-container.d.ts +28 -0
  183. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/ts3.4/SignatureV4MultiRegion.d.ts +41 -0
  184. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/ts3.4/index.d.ts +2 -0
  185. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/ts3.4/signature-v4-crt-container.d.ts +20 -0
  186. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +61 -0
  187. package/node_modules/@aws-sdk/token-providers/package.json +7 -7
  188. package/node_modules/@aws-sdk/types/package.json +2 -2
  189. package/node_modules/@aws-sdk/util-arn-parser/LICENSE +201 -0
  190. package/node_modules/@aws-sdk/util-arn-parser/README.md +4 -0
  191. package/node_modules/@aws-sdk/util-arn-parser/dist-cjs/index.js +27 -0
  192. package/node_modules/@aws-sdk/util-arn-parser/dist-es/index.js +21 -0
  193. package/node_modules/@aws-sdk/util-arn-parser/dist-types/index.d.ts +32 -0
  194. package/node_modules/@aws-sdk/util-arn-parser/dist-types/ts3.4/index.d.ts +14 -0
  195. package/node_modules/@aws-sdk/util-arn-parser/package.json +55 -0
  196. package/node_modules/@aws-sdk/util-endpoints/package.json +5 -5
  197. package/node_modules/@aws-sdk/util-user-agent-browser/package.json +3 -3
  198. package/node_modules/@aws-sdk/util-user-agent-node/package.json +5 -5
  199. package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.js +0 -2
  200. package/node_modules/@aws-sdk/xml-builder/dist-es/xml-parser.js +0 -2
  201. package/node_modules/@aws-sdk/xml-builder/package.json +3 -3
  202. package/node_modules/@nodable/entities/README.md +41 -0
  203. package/node_modules/@nodable/entities/package.json +54 -0
  204. package/node_modules/@nodable/entities/src/EntityDecoder.js +543 -0
  205. package/node_modules/@nodable/entities/src/EntityEncoder.js +194 -0
  206. package/node_modules/@nodable/entities/src/entities.js +1177 -0
  207. package/node_modules/@nodable/entities/src/entityTries.js +49 -0
  208. package/node_modules/@nodable/entities/src/index.d.ts +264 -0
  209. package/node_modules/@nodable/entities/src/index.js +29 -0
  210. package/node_modules/@smithy/config-resolver/package.json +5 -5
  211. package/node_modules/@smithy/core/dist-cjs/index.js +2 -1
  212. package/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js +32 -14
  213. package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.js +2 -2
  214. package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.js +16 -8
  215. package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +17 -10
  216. package/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js +6 -1
  217. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +6 -3
  218. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/DefaultIdentityProviderConfig.js +2 -1
  219. package/node_modules/@smithy/core/dist-es/submodules/cbor/CborCodec.js +23 -11
  220. package/node_modules/@smithy/core/dist-es/submodules/cbor/parseCborBody.js +9 -3
  221. package/node_modules/@smithy/core/dist-es/submodules/endpoints/toEndpointV1.js +2 -2
  222. package/node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.js +16 -8
  223. package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpBindingProtocol.js +9 -4
  224. package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js +8 -6
  225. package/node_modules/@smithy/core/dist-es/submodules/schema/TypeRegistry.js +6 -1
  226. package/node_modules/@smithy/core/dist-es/submodules/serde/parse-utils.js +6 -3
  227. package/node_modules/@smithy/core/dist-es/util-identity-and-auth/DefaultIdentityProviderConfig.js +2 -1
  228. package/node_modules/@smithy/core/dist-types/submodules/schema/TypeRegistry.d.ts +1 -1
  229. package/node_modules/@smithy/core/package.json +7 -7
  230. package/node_modules/@smithy/credential-provider-imds/package.json +5 -5
  231. package/node_modules/@smithy/fetch-http-handler/package.json +5 -5
  232. package/node_modules/@smithy/hash-node/package.json +2 -2
  233. package/node_modules/@smithy/invalid-dependency/package.json +2 -2
  234. package/node_modules/@smithy/middleware-content-length/package.json +3 -3
  235. package/node_modules/@smithy/middleware-endpoint/package.json +8 -8
  236. package/node_modules/@smithy/middleware-retry/package.json +9 -9
  237. package/node_modules/@smithy/middleware-serde/package.json +4 -4
  238. package/node_modules/@smithy/middleware-stack/package.json +2 -2
  239. package/node_modules/@smithy/node-config-provider/package.json +4 -4
  240. package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +208 -102
  241. package/node_modules/@smithy/node-http-handler/dist-es/http2/ClientHttp2SessionRef.js +50 -0
  242. package/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-manager.js +83 -41
  243. package/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-pool.js +32 -18
  244. package/node_modules/@smithy/node-http-handler/dist-es/node-http2-handler.js +44 -43
  245. package/node_modules/@smithy/node-http-handler/dist-types/http2/ClientHttp2SessionRef.d.ts +46 -0
  246. package/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-manager.d.ts +32 -14
  247. package/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-pool.d.ts +32 -8
  248. package/node_modules/@smithy/node-http-handler/dist-types/node-http2-handler.d.ts +14 -6
  249. package/node_modules/@smithy/node-http-handler/package.json +5 -5
  250. package/node_modules/@smithy/property-provider/package.json +2 -2
  251. package/node_modules/@smithy/protocol-http/package.json +2 -2
  252. package/node_modules/@smithy/querystring-builder/package.json +2 -2
  253. package/node_modules/@smithy/querystring-parser/package.json +2 -2
  254. package/node_modules/@smithy/service-error-classification/dist-cjs/index.js +6 -0
  255. package/node_modules/@smithy/service-error-classification/dist-es/index.js +5 -0
  256. package/node_modules/@smithy/service-error-classification/dist-types/index.d.ts +6 -0
  257. package/node_modules/@smithy/service-error-classification/package.json +2 -2
  258. package/node_modules/@smithy/shared-ini-file-loader/package.json +2 -2
  259. package/node_modules/@smithy/signature-v4/dist-cjs/index.js +11 -5
  260. package/node_modules/@smithy/signature-v4/dist-es/SignatureV4.js +11 -5
  261. package/node_modules/@smithy/signature-v4/dist-types/SignatureV4.d.ts +3 -3
  262. package/node_modules/@smithy/signature-v4/package.json +4 -4
  263. package/node_modules/@smithy/smithy-client/dist-cjs/index.js +8 -1
  264. package/node_modules/@smithy/smithy-client/dist-es/command.js +8 -1
  265. package/node_modules/@smithy/smithy-client/package.json +7 -7
  266. package/node_modules/@smithy/types/dist-types/connection/config.d.ts +5 -0
  267. package/node_modules/@smithy/types/dist-types/signature.d.ts +20 -3
  268. package/node_modules/@smithy/types/package.json +1 -1
  269. package/node_modules/@smithy/url-parser/package.json +3 -3
  270. package/node_modules/@smithy/util-defaults-mode-browser/package.json +4 -4
  271. package/node_modules/@smithy/util-defaults-mode-node/package.json +7 -7
  272. package/node_modules/@smithy/util-endpoints/dist-cjs/index.js +79 -71
  273. package/node_modules/@smithy/util-endpoints/dist-es/decideEndpoint.js +4 -3
  274. package/node_modules/@smithy/util-endpoints/dist-es/lib/getAttr.js +2 -1
  275. package/node_modules/@smithy/util-endpoints/dist-es/resolveEndpoint.js +8 -13
  276. package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateCondition.js +9 -7
  277. package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateConditions.js +12 -8
  278. package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateEndpointRule.js +14 -13
  279. package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateErrorRule.js +7 -4
  280. package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateExpression.js +10 -8
  281. package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateRules.js +4 -4
  282. package/node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointHeaders.js +5 -5
  283. package/node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointProperties.js +4 -4
  284. package/node_modules/@smithy/util-endpoints/dist-types/bdd/BinaryDecisionDiagram.d.ts +2 -2
  285. package/node_modules/@smithy/util-endpoints/dist-types/types/shared.d.ts +3 -3
  286. package/node_modules/@smithy/util-endpoints/dist-types/utils/endpointFunctions.d.ts +2 -15
  287. package/node_modules/@smithy/util-endpoints/dist-types/utils/evaluateCondition.d.ts +6 -3
  288. package/node_modules/@smithy/util-endpoints/dist-types/utils/evaluateConditions.d.ts +3 -3
  289. package/node_modules/@smithy/util-endpoints/dist-types/utils/getEndpointHeaders.d.ts +1 -1
  290. package/node_modules/@smithy/util-endpoints/dist-types/utils/getEndpointProperties.d.ts +2 -2
  291. package/node_modules/@smithy/util-endpoints/dist-types/utils/getReferenceValue.d.ts +2 -2
  292. package/node_modules/@smithy/util-endpoints/package.json +3 -3
  293. package/node_modules/@smithy/util-middleware/package.json +2 -2
  294. package/node_modules/@smithy/util-retry/dist-cjs/index.js +20 -10
  295. package/node_modules/@smithy/util-retry/dist-es/StandardRetryStrategy.js +20 -10
  296. package/node_modules/@smithy/util-retry/dist-types/StandardRetryStrategy.d.ts +12 -4
  297. package/node_modules/@smithy/util-retry/package.json +3 -3
  298. package/node_modules/@smithy/util-stream/package.json +4 -4
  299. package/node_modules/@smithy/util-waiter/dist-cjs/index.js +59 -34
  300. package/node_modules/@smithy/util-waiter/dist-es/poller.js +61 -34
  301. package/node_modules/@smithy/util-waiter/dist-types/createWaiter.d.ts +1 -1
  302. package/node_modules/@smithy/util-waiter/dist-types/poller.d.ts +2 -1
  303. package/node_modules/@smithy/util-waiter/dist-types/waiter.d.ts +13 -13
  304. package/node_modules/@smithy/util-waiter/package.json +3 -3
  305. package/node_modules/fast-xml-builder/package.json +1 -1
  306. package/node_modules/fast-xml-builder/src/fxb.js +6 -2
  307. package/node_modules/fast-xml-builder/src/orderedJs2Xml.js +16 -2
  308. package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/CHANGELOG.md +53 -0
  309. package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/README.md +8 -28
  310. package/node_modules/fast-xml-parser/lib/fxbuilder.min.js +2 -0
  311. package/node_modules/fast-xml-parser/lib/fxbuilder.min.js.map +1 -0
  312. package/node_modules/fast-xml-parser/lib/fxp.cjs +1 -0
  313. package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/lib/fxp.d.cts +172 -6
  314. package/node_modules/fast-xml-parser/lib/fxp.min.js +2 -0
  315. package/node_modules/fast-xml-parser/lib/fxp.min.js.map +1 -0
  316. package/node_modules/fast-xml-parser/lib/fxparser.min.js +2 -0
  317. package/node_modules/fast-xml-parser/lib/fxparser.min.js.map +1 -0
  318. package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/package.json +5 -4
  319. package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/fxp.d.ts +162 -3
  320. package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/xmlparser/DocTypeReader.js +2 -5
  321. package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/xmlparser/OptionsBuilder.js +15 -11
  322. package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/xmlparser/OrderedObjParser.js +168 -244
  323. package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/xmlparser/XMLParser.js +1 -1
  324. package/package.json +5 -5
  325. package/node_modules/@aws-sdk/client-codedeploy/dist-cjs/endpoint/ruleset.js +0 -7
  326. package/node_modules/@aws-sdk/client-codedeploy/dist-es/endpoint/ruleset.js +0 -4
  327. package/node_modules/@aws-sdk/client-codedeploy/dist-types/endpoint/ruleset.d.ts +0 -2
  328. package/node_modules/@aws-sdk/client-codedeploy/dist-types/ts3.4/endpoint/ruleset.d.ts +0 -2
  329. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/endpoint/ruleset.js +0 -146
  330. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/endpoint/ruleset.js +0 -133
  331. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/endpoint/ruleset.js +0 -106
  332. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/endpoint/ruleset.js +0 -106
  333. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/endpoint/ruleset.js +0 -145
  334. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/endpoint/ruleset.js +0 -143
  335. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/ruleset.js +0 -130
  336. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/endpoint/ruleset.js +0 -103
  337. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/ruleset.js +0 -103
  338. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/ruleset.js +0 -142
  339. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/endpoint/ruleset.d.ts +0 -2
  340. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/endpoint/ruleset.d.ts +0 -2
  341. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/endpoint/ruleset.d.ts +0 -2
  342. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/endpoint/ruleset.d.ts +0 -2
  343. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/endpoint/ruleset.d.ts +0 -2
  344. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/endpoint/ruleset.d.ts +0 -2
  345. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/endpoint/ruleset.d.ts +0 -2
  346. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/endpoint/ruleset.d.ts +0 -2
  347. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/endpoint/ruleset.d.ts +0 -2
  348. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/endpoint/ruleset.d.ts +0 -2
  349. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxbuilder.min.js +0 -2
  350. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxbuilder.min.js.map +0 -1
  351. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.cjs +0 -1
  352. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.min.js +0 -2
  353. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.min.js.map +0 -1
  354. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxparser.min.js +0 -2
  355. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxparser.min.js.map +0 -1
  356. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/pem.d.cts +0 -148
  357. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/pem.d.ts +0 -135
  358. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/LICENSE +0 -0
  359. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/lib/fxvalidator.min.js +0 -0
  360. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/lib/fxvalidator.min.js.map +0 -0
  361. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/cli/cli.js +0 -0
  362. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/cli/man.js +0 -0
  363. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/cli/read.js +0 -0
  364. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/fxp.js +0 -0
  365. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/ignoreAttributes.js +0 -0
  366. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/util.js +0 -0
  367. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/CharsSymbol.js +0 -0
  368. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/EntitiesParser.js +0 -0
  369. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/OptionsBuilder.js +0 -0
  370. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/OutputBuilders/BaseOutputBuilder.js +0 -0
  371. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/OutputBuilders/JsArrBuilder.js +0 -0
  372. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/OutputBuilders/JsMinArrBuilder.js +0 -0
  373. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/OutputBuilders/JsObjBuilder.js +0 -0
  374. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/OutputBuilders/ParserOptionsBuilder.js +0 -0
  375. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/Report.js +0 -0
  376. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/TagPath.js +0 -0
  377. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/TagPathMatcher.js +0 -0
  378. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/XMLParser.js +0 -0
  379. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/Xml2JsParser.js +0 -0
  380. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/XmlPartReader.js +0 -0
  381. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/XmlSpecialTagsReader.js +0 -0
  382. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/inputSource/BufferSource.js +0 -0
  383. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/inputSource/StringSource.js +0 -0
  384. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/valueParsers/EntitiesParser.js +0 -0
  385. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/valueParsers/booleanParser.js +0 -0
  386. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/valueParsers/booleanParserExt.js +0 -0
  387. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/valueParsers/currency.js +0 -0
  388. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/valueParsers/join.js +0 -0
  389. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/valueParsers/number.js +0 -0
  390. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/valueParsers/trim.js +0 -0
  391. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/validator.js +0 -0
  392. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/xmlbuilder/json2xml.js +0 -0
  393. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/xmlparser/node2json.js +0 -0
  394. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/xmlparser/xmlNode.js +0 -0
  395. /package/node_modules/{@aws-sdk/xml-builder/node_modules/strnum → strnum}/CHANGELOG.md +0 -0
  396. /package/node_modules/{@aws-sdk/xml-builder/node_modules/strnum → strnum}/LICENSE +0 -0
  397. /package/node_modules/{@aws-sdk/xml-builder/node_modules/strnum → strnum}/README.md +0 -0
  398. /package/node_modules/{@aws-sdk/xml-builder/node_modules/strnum → strnum}/package.json +0 -0
  399. /package/node_modules/{@aws-sdk/xml-builder/node_modules/strnum → strnum}/strnum.js +0 -0
@@ -0,0 +1,581 @@
1
+ 'use strict';
2
+
3
+ var protocolHttp = require('@smithy/protocol-http');
4
+ var smithyClient = require('@smithy/smithy-client');
5
+ var toStream = require('./toStream');
6
+ var utilArnParser = require('@aws-sdk/util-arn-parser');
7
+ var protocols = require('@aws-sdk/core/protocols');
8
+ var schema = require('@smithy/core/schema');
9
+ var signatureV4 = require('@smithy/signature-v4');
10
+ var utilConfigProvider = require('@smithy/util-config-provider');
11
+ var client = require('@aws-sdk/core/client');
12
+ var core = require('@smithy/core');
13
+ var utilMiddleware = require('@smithy/util-middleware');
14
+
15
+ const CONTENT_LENGTH_HEADER = "content-length";
16
+ const DECODED_CONTENT_LENGTH_HEADER = "x-amz-decoded-content-length";
17
+ function checkContentLengthHeader() {
18
+ return (next, context) => async (args) => {
19
+ const { request } = args;
20
+ if (protocolHttp.HttpRequest.isInstance(request)) {
21
+ if (!(CONTENT_LENGTH_HEADER in request.headers) && !(DECODED_CONTENT_LENGTH_HEADER in request.headers)) {
22
+ const message = `Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.`;
23
+ if (typeof context?.logger?.warn === "function" && !(context.logger instanceof smithyClient.NoOpLogger)) {
24
+ context.logger.warn(message);
25
+ }
26
+ else {
27
+ console.warn(message);
28
+ }
29
+ }
30
+ }
31
+ return next({ ...args });
32
+ };
33
+ }
34
+ const checkContentLengthHeaderMiddlewareOptions = {
35
+ step: "finalizeRequest",
36
+ tags: ["CHECK_CONTENT_LENGTH_HEADER"],
37
+ name: "getCheckContentLengthHeaderPlugin",
38
+ override: true,
39
+ };
40
+ const getCheckContentLengthHeaderPlugin = (unused) => ({
41
+ applyToStack: (clientStack) => {
42
+ clientStack.add(checkContentLengthHeader(), checkContentLengthHeaderMiddlewareOptions);
43
+ },
44
+ });
45
+
46
+ const regionRedirectEndpointMiddleware = (config) => {
47
+ return (next, context) => async (args) => {
48
+ const originalRegion = await config.region();
49
+ const regionProviderRef = config.region;
50
+ let unlock = () => { };
51
+ if (context.__s3RegionRedirect) {
52
+ Object.defineProperty(config, "region", {
53
+ writable: false,
54
+ value: async () => {
55
+ return context.__s3RegionRedirect;
56
+ },
57
+ });
58
+ unlock = () => Object.defineProperty(config, "region", {
59
+ writable: true,
60
+ value: regionProviderRef,
61
+ });
62
+ }
63
+ try {
64
+ const result = await next(args);
65
+ if (context.__s3RegionRedirect) {
66
+ unlock();
67
+ const region = await config.region();
68
+ if (originalRegion !== region) {
69
+ throw new Error("Region was not restored following S3 region redirect.");
70
+ }
71
+ }
72
+ return result;
73
+ }
74
+ catch (e) {
75
+ unlock();
76
+ throw e;
77
+ }
78
+ };
79
+ };
80
+ const regionRedirectEndpointMiddlewareOptions = {
81
+ tags: ["REGION_REDIRECT", "S3"],
82
+ name: "regionRedirectEndpointMiddleware",
83
+ override: true,
84
+ relation: "before",
85
+ toMiddleware: "endpointV2Middleware",
86
+ };
87
+
88
+ function regionRedirectMiddleware(clientConfig) {
89
+ return (next, context) => async (args) => {
90
+ try {
91
+ return await next(args);
92
+ }
93
+ catch (err) {
94
+ if (clientConfig.followRegionRedirects) {
95
+ const statusCode = err?.$metadata?.httpStatusCode;
96
+ const isHeadBucket = context.commandName === "HeadBucketCommand";
97
+ const bucketRegionHeader = err?.$response?.headers?.["x-amz-bucket-region"];
98
+ if (bucketRegionHeader) {
99
+ if (statusCode === 301 ||
100
+ (statusCode === 400 && (err?.name === "IllegalLocationConstraintException" || isHeadBucket))) {
101
+ try {
102
+ const actualRegion = bucketRegionHeader;
103
+ context.logger?.debug(`Redirecting from ${await clientConfig.region()} to ${actualRegion}`);
104
+ context.__s3RegionRedirect = actualRegion;
105
+ }
106
+ catch (e) {
107
+ throw new Error("Region redirect failed: " + e);
108
+ }
109
+ return next(args);
110
+ }
111
+ }
112
+ }
113
+ throw err;
114
+ }
115
+ };
116
+ }
117
+ const regionRedirectMiddlewareOptions = {
118
+ step: "initialize",
119
+ tags: ["REGION_REDIRECT", "S3"],
120
+ name: "regionRedirectMiddleware",
121
+ override: true,
122
+ };
123
+ const getRegionRedirectMiddlewarePlugin = (clientConfig) => ({
124
+ applyToStack: (clientStack) => {
125
+ clientStack.add(regionRedirectMiddleware(clientConfig), regionRedirectMiddlewareOptions);
126
+ clientStack.addRelativeTo(regionRedirectEndpointMiddleware(clientConfig), regionRedirectEndpointMiddlewareOptions);
127
+ },
128
+ });
129
+
130
+ const s3ExpiresMiddleware = (config) => {
131
+ return (next, context) => async (args) => {
132
+ const result = await next(args);
133
+ const { response } = result;
134
+ if (protocolHttp.HttpResponse.isInstance(response)) {
135
+ if (response.headers.expires) {
136
+ response.headers.expiresstring = response.headers.expires;
137
+ try {
138
+ smithyClient.parseRfc7231DateTime(response.headers.expires);
139
+ }
140
+ catch (e) {
141
+ context.logger?.warn(`AWS SDK Warning for ${context.clientName}::${context.commandName} response parsing (${response.headers.expires}): ${e}`);
142
+ delete response.headers.expires;
143
+ }
144
+ }
145
+ }
146
+ return result;
147
+ };
148
+ };
149
+ const s3ExpiresMiddlewareOptions = {
150
+ tags: ["S3"],
151
+ name: "s3ExpiresMiddleware",
152
+ override: true,
153
+ relation: "after",
154
+ toMiddleware: "deserializerMiddleware",
155
+ };
156
+ const getS3ExpiresMiddlewarePlugin = (clientConfig) => ({
157
+ applyToStack: (clientStack) => {
158
+ clientStack.addRelativeTo(s3ExpiresMiddleware(), s3ExpiresMiddlewareOptions);
159
+ },
160
+ });
161
+
162
+ class S3ExpressIdentityCache {
163
+ data;
164
+ lastPurgeTime = Date.now();
165
+ static EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS = 30_000;
166
+ constructor(data = {}) {
167
+ this.data = data;
168
+ }
169
+ get(key) {
170
+ const entry = this.data[key];
171
+ if (!entry) {
172
+ return;
173
+ }
174
+ return entry;
175
+ }
176
+ set(key, entry) {
177
+ this.data[key] = entry;
178
+ return entry;
179
+ }
180
+ delete(key) {
181
+ delete this.data[key];
182
+ }
183
+ async purgeExpired() {
184
+ const now = Date.now();
185
+ if (this.lastPurgeTime + S3ExpressIdentityCache.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS > now) {
186
+ return;
187
+ }
188
+ for (const key in this.data) {
189
+ const entry = this.data[key];
190
+ if (!entry.isRefreshing) {
191
+ const credential = await entry.identity;
192
+ if (credential.expiration) {
193
+ if (credential.expiration.getTime() < now) {
194
+ delete this.data[key];
195
+ }
196
+ }
197
+ }
198
+ }
199
+ }
200
+ }
201
+
202
+ class S3ExpressIdentityCacheEntry {
203
+ _identity;
204
+ isRefreshing;
205
+ accessed;
206
+ constructor(_identity, isRefreshing = false, accessed = Date.now()) {
207
+ this._identity = _identity;
208
+ this.isRefreshing = isRefreshing;
209
+ this.accessed = accessed;
210
+ }
211
+ get identity() {
212
+ this.accessed = Date.now();
213
+ return this._identity;
214
+ }
215
+ }
216
+
217
+ class S3ExpressIdentityProviderImpl {
218
+ createSessionFn;
219
+ cache;
220
+ static REFRESH_WINDOW_MS = 60_000;
221
+ constructor(createSessionFn, cache = new S3ExpressIdentityCache()) {
222
+ this.createSessionFn = createSessionFn;
223
+ this.cache = cache;
224
+ }
225
+ async getS3ExpressIdentity(awsIdentity, identityProperties) {
226
+ const key = identityProperties.Bucket;
227
+ const { cache } = this;
228
+ const entry = cache.get(key);
229
+ if (entry) {
230
+ return entry.identity.then((identity) => {
231
+ const isExpired = (identity.expiration?.getTime() ?? 0) < Date.now();
232
+ if (isExpired) {
233
+ return cache.set(key, new S3ExpressIdentityCacheEntry(this.getIdentity(key))).identity;
234
+ }
235
+ const isExpiringSoon = (identity.expiration?.getTime() ?? 0) < Date.now() + S3ExpressIdentityProviderImpl.REFRESH_WINDOW_MS;
236
+ if (isExpiringSoon && !entry.isRefreshing) {
237
+ entry.isRefreshing = true;
238
+ this.getIdentity(key).then((id) => {
239
+ cache.set(key, new S3ExpressIdentityCacheEntry(Promise.resolve(id)));
240
+ });
241
+ }
242
+ return identity;
243
+ });
244
+ }
245
+ return cache.set(key, new S3ExpressIdentityCacheEntry(this.getIdentity(key))).identity;
246
+ }
247
+ async getIdentity(key) {
248
+ await this.cache.purgeExpired().catch((error) => {
249
+ console.warn("Error while clearing expired entries in S3ExpressIdentityCache: \n" + error);
250
+ });
251
+ const session = await this.createSessionFn(key);
252
+ if (!session.Credentials?.AccessKeyId || !session.Credentials?.SecretAccessKey) {
253
+ throw new Error("s3#createSession response credential missing AccessKeyId or SecretAccessKey.");
254
+ }
255
+ const identity = {
256
+ accessKeyId: session.Credentials.AccessKeyId,
257
+ secretAccessKey: session.Credentials.SecretAccessKey,
258
+ sessionToken: session.Credentials.SessionToken,
259
+ expiration: session.Credentials.Expiration ? new Date(session.Credentials.Expiration) : undefined,
260
+ };
261
+ return identity;
262
+ }
263
+ }
264
+
265
+ const S3_EXPRESS_BUCKET_TYPE = "Directory";
266
+ const S3_EXPRESS_BACKEND = "S3Express";
267
+ const S3_EXPRESS_AUTH_SCHEME = "sigv4-s3express";
268
+ const SESSION_TOKEN_QUERY_PARAM = "X-Amz-S3session-Token";
269
+ const SESSION_TOKEN_HEADER = SESSION_TOKEN_QUERY_PARAM.toLowerCase();
270
+ const NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_ENV_NAME = "AWS_S3_DISABLE_EXPRESS_SESSION_AUTH";
271
+ const NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_INI_NAME = "s3_disable_express_session_auth";
272
+ const NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS = {
273
+ environmentVariableSelector: (env) => utilConfigProvider.booleanSelector(env, NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_ENV_NAME, utilConfigProvider.SelectorType.ENV),
274
+ configFileSelector: (profile) => utilConfigProvider.booleanSelector(profile, NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_INI_NAME, utilConfigProvider.SelectorType.CONFIG),
275
+ default: false,
276
+ };
277
+
278
+ class SignatureV4S3Express extends signatureV4.SignatureV4 {
279
+ async signWithCredentials(requestToSign, credentials, options) {
280
+ const credentialsWithoutSessionToken = getCredentialsWithoutSessionToken(credentials);
281
+ requestToSign.headers[SESSION_TOKEN_HEADER] = credentials.sessionToken;
282
+ const privateAccess = this;
283
+ setSingleOverride(privateAccess, credentialsWithoutSessionToken);
284
+ return privateAccess.signRequest(requestToSign, options ?? {});
285
+ }
286
+ async presignWithCredentials(requestToSign, credentials, options) {
287
+ const credentialsWithoutSessionToken = getCredentialsWithoutSessionToken(credentials);
288
+ delete requestToSign.headers[SESSION_TOKEN_HEADER];
289
+ requestToSign.headers[SESSION_TOKEN_QUERY_PARAM] = credentials.sessionToken;
290
+ requestToSign.query = requestToSign.query ?? {};
291
+ requestToSign.query[SESSION_TOKEN_QUERY_PARAM] = credentials.sessionToken;
292
+ const privateAccess = this;
293
+ setSingleOverride(privateAccess, credentialsWithoutSessionToken);
294
+ return this.presign(requestToSign, options);
295
+ }
296
+ }
297
+ function getCredentialsWithoutSessionToken(credentials) {
298
+ const credentialsWithoutSessionToken = {
299
+ accessKeyId: credentials.accessKeyId,
300
+ secretAccessKey: credentials.secretAccessKey,
301
+ expiration: credentials.expiration,
302
+ };
303
+ return credentialsWithoutSessionToken;
304
+ }
305
+ function setSingleOverride(privateAccess, credentialsWithoutSessionToken) {
306
+ const id = setTimeout(() => {
307
+ throw new Error("SignatureV4S3Express credential override was created but not called.");
308
+ }, 10);
309
+ const currentCredentialProvider = privateAccess.credentialProvider;
310
+ const overrideCredentialsProviderOnce = () => {
311
+ clearTimeout(id);
312
+ privateAccess.credentialProvider = currentCredentialProvider;
313
+ return Promise.resolve(credentialsWithoutSessionToken);
314
+ };
315
+ privateAccess.credentialProvider = overrideCredentialsProviderOnce;
316
+ }
317
+
318
+ const s3ExpressMiddleware = (options) => {
319
+ return (next, context) => async (args) => {
320
+ if (context.endpointV2) {
321
+ const endpoint = context.endpointV2;
322
+ const isS3ExpressAuth = endpoint.properties?.authSchemes?.[0]?.name === S3_EXPRESS_AUTH_SCHEME;
323
+ const isS3ExpressBucket = endpoint.properties?.backend === S3_EXPRESS_BACKEND ||
324
+ endpoint.properties?.bucketType === S3_EXPRESS_BUCKET_TYPE;
325
+ if (isS3ExpressBucket) {
326
+ client.setFeature(context, "S3_EXPRESS_BUCKET", "J");
327
+ context.isS3ExpressBucket = true;
328
+ }
329
+ if (isS3ExpressAuth) {
330
+ const requestBucket = args.input.Bucket;
331
+ if (requestBucket) {
332
+ const s3ExpressIdentity = await options.s3ExpressIdentityProvider.getS3ExpressIdentity(await options.credentials(), {
333
+ Bucket: requestBucket,
334
+ });
335
+ context.s3ExpressIdentity = s3ExpressIdentity;
336
+ if (protocolHttp.HttpRequest.isInstance(args.request) && s3ExpressIdentity.sessionToken) {
337
+ args.request.headers[SESSION_TOKEN_HEADER] = s3ExpressIdentity.sessionToken;
338
+ }
339
+ }
340
+ }
341
+ }
342
+ return next(args);
343
+ };
344
+ };
345
+ const s3ExpressMiddlewareOptions = {
346
+ name: "s3ExpressMiddleware",
347
+ step: "build",
348
+ tags: ["S3", "S3_EXPRESS"],
349
+ override: true,
350
+ };
351
+ const getS3ExpressPlugin = (options) => ({
352
+ applyToStack: (clientStack) => {
353
+ clientStack.add(s3ExpressMiddleware(options), s3ExpressMiddlewareOptions);
354
+ },
355
+ });
356
+
357
+ const signS3Express = async (s3ExpressIdentity, signingOptions, request, sigV4MultiRegionSigner) => {
358
+ const signedRequest = await sigV4MultiRegionSigner.signWithCredentials(request, s3ExpressIdentity, {});
359
+ if (signedRequest.headers["X-Amz-Security-Token"] || signedRequest.headers["x-amz-security-token"]) {
360
+ throw new Error("X-Amz-Security-Token must not be set for s3-express requests.");
361
+ }
362
+ return signedRequest;
363
+ };
364
+
365
+ const defaultErrorHandler = (signingProperties) => (error) => {
366
+ throw error;
367
+ };
368
+ const defaultSuccessHandler = (httpResponse, signingProperties) => { };
369
+ const s3ExpressHttpSigningMiddlewareOptions = core.httpSigningMiddlewareOptions;
370
+ const s3ExpressHttpSigningMiddleware = (config) => (next, context) => async (args) => {
371
+ if (!protocolHttp.HttpRequest.isInstance(args.request)) {
372
+ return next(args);
373
+ }
374
+ const smithyContext = utilMiddleware.getSmithyContext(context);
375
+ const scheme = smithyContext.selectedHttpAuthScheme;
376
+ if (!scheme) {
377
+ throw new Error(`No HttpAuthScheme was selected: unable to sign request`);
378
+ }
379
+ const { httpAuthOption: { signingProperties = {} }, identity, signer, } = scheme;
380
+ let request;
381
+ if (context.s3ExpressIdentity) {
382
+ request = await signS3Express(context.s3ExpressIdentity, signingProperties, args.request, await config.signer());
383
+ }
384
+ else {
385
+ request = await signer.sign(args.request, identity, signingProperties);
386
+ }
387
+ const output = await next({
388
+ ...args,
389
+ request,
390
+ }).catch((signer.errorHandler || defaultErrorHandler)(signingProperties));
391
+ (signer.successHandler || defaultSuccessHandler)(output.response, signingProperties);
392
+ return output;
393
+ };
394
+ const getS3ExpressHttpSigningPlugin = (config) => ({
395
+ applyToStack: (clientStack) => {
396
+ clientStack.addRelativeTo(s3ExpressHttpSigningMiddleware(config), core.httpSigningMiddlewareOptions);
397
+ },
398
+ });
399
+
400
+ const resolveS3Config = (input, { session, }) => {
401
+ const [s3ClientProvider, CreateSessionCommandCtor] = session;
402
+ const { forcePathStyle, useAccelerateEndpoint, disableMultiregionAccessPoints, followRegionRedirects, s3ExpressIdentityProvider, bucketEndpoint, expectContinueHeader, } = input;
403
+ return Object.assign(input, {
404
+ forcePathStyle: forcePathStyle ?? false,
405
+ useAccelerateEndpoint: useAccelerateEndpoint ?? false,
406
+ disableMultiregionAccessPoints: disableMultiregionAccessPoints ?? false,
407
+ followRegionRedirects: followRegionRedirects ?? false,
408
+ s3ExpressIdentityProvider: s3ExpressIdentityProvider ??
409
+ new S3ExpressIdentityProviderImpl(async (key) => s3ClientProvider().send(new CreateSessionCommandCtor({
410
+ Bucket: key,
411
+ }))),
412
+ bucketEndpoint: bucketEndpoint ?? false,
413
+ expectContinueHeader: expectContinueHeader ?? 2_097_152,
414
+ });
415
+ };
416
+
417
+ const THROW_IF_EMPTY_BODY = {
418
+ CopyObjectCommand: true,
419
+ UploadPartCopyCommand: true,
420
+ CompleteMultipartUploadCommand: true,
421
+ };
422
+ const throw200ExceptionsMiddleware = (config) => (next, context) => async (args) => {
423
+ const result = await next(args);
424
+ const { response } = result;
425
+ if (!protocolHttp.HttpResponse.isInstance(response)) {
426
+ return result;
427
+ }
428
+ const { statusCode, body } = response;
429
+ if (statusCode < 200 || statusCode >= 300) {
430
+ return result;
431
+ }
432
+ const bodyBytes = await collectBody(body, config);
433
+ response.body = toStream.toStream(bodyBytes);
434
+ if (bodyBytes.length === 0 && THROW_IF_EMPTY_BODY[context.commandName]) {
435
+ const err = new Error("S3 aborted request");
436
+ err.$metadata = {
437
+ httpStatusCode: 503,
438
+ };
439
+ err.name = "InternalError";
440
+ throw err;
441
+ }
442
+ const bodyStringTail = config.utf8Encoder(bodyBytes.subarray(bodyBytes.length - 16));
443
+ if (bodyStringTail && bodyStringTail.endsWith("</Error>")) {
444
+ response.statusCode = 503;
445
+ }
446
+ return result;
447
+ };
448
+ const collectBody = (streamBody = new Uint8Array(), context) => {
449
+ if (streamBody instanceof Uint8Array) {
450
+ return Promise.resolve(streamBody);
451
+ }
452
+ return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());
453
+ };
454
+ const throw200ExceptionsMiddlewareOptions = {
455
+ relation: "after",
456
+ toMiddleware: "deserializerMiddleware",
457
+ tags: ["THROW_200_EXCEPTIONS", "S3"],
458
+ name: "throw200ExceptionsMiddleware",
459
+ override: true,
460
+ };
461
+ const getThrow200ExceptionsPlugin = (config) => ({
462
+ applyToStack: (clientStack) => {
463
+ clientStack.addRelativeTo(throw200ExceptionsMiddleware(config), throw200ExceptionsMiddlewareOptions);
464
+ },
465
+ });
466
+
467
+ function bucketEndpointMiddleware(options) {
468
+ return (next, context) => async (args) => {
469
+ if (options.bucketEndpoint) {
470
+ const endpoint = context.endpointV2;
471
+ if (endpoint) {
472
+ const bucket = args.input.Bucket;
473
+ if (typeof bucket === "string") {
474
+ try {
475
+ const bucketEndpointUrl = new URL(bucket);
476
+ context.endpointV2 = {
477
+ ...endpoint,
478
+ url: bucketEndpointUrl,
479
+ };
480
+ }
481
+ catch (e) {
482
+ const warning = `@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${bucket} could not be parsed as URL.`;
483
+ if (context.logger?.constructor?.name === "NoOpLogger") {
484
+ console.warn(warning);
485
+ }
486
+ else {
487
+ context.logger?.warn?.(warning);
488
+ }
489
+ throw e;
490
+ }
491
+ }
492
+ }
493
+ }
494
+ return next(args);
495
+ };
496
+ }
497
+ const bucketEndpointMiddlewareOptions = {
498
+ name: "bucketEndpointMiddleware",
499
+ override: true,
500
+ relation: "after",
501
+ toMiddleware: "endpointV2Middleware",
502
+ };
503
+
504
+ function validateBucketNameMiddleware({ bucketEndpoint }) {
505
+ return (next) => async (args) => {
506
+ const { input: { Bucket }, } = args;
507
+ if (!bucketEndpoint && typeof Bucket === "string" && !utilArnParser.validate(Bucket) && Bucket.indexOf("/") >= 0) {
508
+ const err = new Error(`Bucket name shouldn't contain '/', received '${Bucket}'`);
509
+ err.name = "InvalidBucketName";
510
+ throw err;
511
+ }
512
+ return next({ ...args });
513
+ };
514
+ }
515
+ const validateBucketNameMiddlewareOptions = {
516
+ step: "initialize",
517
+ tags: ["VALIDATE_BUCKET_NAME"],
518
+ name: "validateBucketNameMiddleware",
519
+ override: true,
520
+ };
521
+ const getValidateBucketNamePlugin = (options) => ({
522
+ applyToStack: (clientStack) => {
523
+ clientStack.add(validateBucketNameMiddleware(options), validateBucketNameMiddlewareOptions);
524
+ clientStack.addRelativeTo(bucketEndpointMiddleware(options), bucketEndpointMiddlewareOptions);
525
+ },
526
+ });
527
+
528
+ class S3RestXmlProtocol extends protocols.AwsRestXmlProtocol {
529
+ async serializeRequest(operationSchema, input, context) {
530
+ const request = await super.serializeRequest(operationSchema, input, context);
531
+ const ns = schema.NormalizedSchema.of(operationSchema.input);
532
+ const staticStructureSchema = ns.getSchema();
533
+ let bucketMemberIndex = 0;
534
+ const requiredMemberCount = staticStructureSchema[6] ?? 0;
535
+ if (input && typeof input === "object") {
536
+ for (const [memberName, memberNs] of ns.structIterator()) {
537
+ if (++bucketMemberIndex > requiredMemberCount) {
538
+ break;
539
+ }
540
+ if (memberName === "Bucket") {
541
+ if (!input.Bucket && memberNs.getMergedTraits().httpLabel) {
542
+ throw new Error(`No value provided for input HTTP label: Bucket.`);
543
+ }
544
+ break;
545
+ }
546
+ }
547
+ }
548
+ return request;
549
+ }
550
+ }
551
+
552
+ exports.NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS = NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS;
553
+ exports.S3ExpressIdentityCache = S3ExpressIdentityCache;
554
+ exports.S3ExpressIdentityCacheEntry = S3ExpressIdentityCacheEntry;
555
+ exports.S3ExpressIdentityProviderImpl = S3ExpressIdentityProviderImpl;
556
+ exports.S3RestXmlProtocol = S3RestXmlProtocol;
557
+ exports.SignatureV4S3Express = SignatureV4S3Express;
558
+ exports.checkContentLengthHeader = checkContentLengthHeader;
559
+ exports.checkContentLengthHeaderMiddlewareOptions = checkContentLengthHeaderMiddlewareOptions;
560
+ exports.getCheckContentLengthHeaderPlugin = getCheckContentLengthHeaderPlugin;
561
+ exports.getRegionRedirectMiddlewarePlugin = getRegionRedirectMiddlewarePlugin;
562
+ exports.getS3ExpiresMiddlewarePlugin = getS3ExpiresMiddlewarePlugin;
563
+ exports.getS3ExpressHttpSigningPlugin = getS3ExpressHttpSigningPlugin;
564
+ exports.getS3ExpressPlugin = getS3ExpressPlugin;
565
+ exports.getThrow200ExceptionsPlugin = getThrow200ExceptionsPlugin;
566
+ exports.getValidateBucketNamePlugin = getValidateBucketNamePlugin;
567
+ exports.regionRedirectEndpointMiddleware = regionRedirectEndpointMiddleware;
568
+ exports.regionRedirectEndpointMiddlewareOptions = regionRedirectEndpointMiddlewareOptions;
569
+ exports.regionRedirectMiddleware = regionRedirectMiddleware;
570
+ exports.regionRedirectMiddlewareOptions = regionRedirectMiddlewareOptions;
571
+ exports.resolveS3Config = resolveS3Config;
572
+ exports.s3ExpiresMiddleware = s3ExpiresMiddleware;
573
+ exports.s3ExpiresMiddlewareOptions = s3ExpiresMiddlewareOptions;
574
+ exports.s3ExpressHttpSigningMiddleware = s3ExpressHttpSigningMiddleware;
575
+ exports.s3ExpressHttpSigningMiddlewareOptions = s3ExpressHttpSigningMiddlewareOptions;
576
+ exports.s3ExpressMiddleware = s3ExpressMiddleware;
577
+ exports.s3ExpressMiddlewareOptions = s3ExpressMiddlewareOptions;
578
+ exports.throw200ExceptionsMiddleware = throw200ExceptionsMiddleware;
579
+ exports.throw200ExceptionsMiddlewareOptions = throw200ExceptionsMiddlewareOptions;
580
+ exports.validateBucketNameMiddleware = validateBucketNameMiddleware;
581
+ exports.validateBucketNameMiddlewareOptions = validateBucketNameMiddlewareOptions;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toStream = toStream;
4
+ function toStream(bytes) {
5
+ return new ReadableStream({
6
+ start(controller) {
7
+ controller.enqueue(bytes);
8
+ controller.close();
9
+ },
10
+ });
11
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toStream = toStream;
4
+ const node_stream_1 = require("node:stream");
5
+ function toStream(bytes) {
6
+ return node_stream_1.Readable.from(Buffer.from(bytes));
7
+ }
@@ -0,0 +1,36 @@
1
+ export function bucketEndpointMiddleware(options) {
2
+ return (next, context) => async (args) => {
3
+ if (options.bucketEndpoint) {
4
+ const endpoint = context.endpointV2;
5
+ if (endpoint) {
6
+ const bucket = args.input.Bucket;
7
+ if (typeof bucket === "string") {
8
+ try {
9
+ const bucketEndpointUrl = new URL(bucket);
10
+ context.endpointV2 = {
11
+ ...endpoint,
12
+ url: bucketEndpointUrl,
13
+ };
14
+ }
15
+ catch (e) {
16
+ const warning = `@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${bucket} could not be parsed as URL.`;
17
+ if (context.logger?.constructor?.name === "NoOpLogger") {
18
+ console.warn(warning);
19
+ }
20
+ else {
21
+ context.logger?.warn?.(warning);
22
+ }
23
+ throw e;
24
+ }
25
+ }
26
+ }
27
+ }
28
+ return next(args);
29
+ };
30
+ }
31
+ export const bucketEndpointMiddlewareOptions = {
32
+ name: "bucketEndpointMiddleware",
33
+ override: true,
34
+ relation: "after",
35
+ toMiddleware: "endpointV2Middleware",
36
+ };
@@ -0,0 +1,32 @@
1
+ import { HttpRequest } from "@smithy/protocol-http";
2
+ import { NoOpLogger } from "@smithy/smithy-client";
3
+ const CONTENT_LENGTH_HEADER = "content-length";
4
+ const DECODED_CONTENT_LENGTH_HEADER = "x-amz-decoded-content-length";
5
+ export function checkContentLengthHeader() {
6
+ return (next, context) => async (args) => {
7
+ const { request } = args;
8
+ if (HttpRequest.isInstance(request)) {
9
+ if (!(CONTENT_LENGTH_HEADER in request.headers) && !(DECODED_CONTENT_LENGTH_HEADER in request.headers)) {
10
+ const message = `Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.`;
11
+ if (typeof context?.logger?.warn === "function" && !(context.logger instanceof NoOpLogger)) {
12
+ context.logger.warn(message);
13
+ }
14
+ else {
15
+ console.warn(message);
16
+ }
17
+ }
18
+ }
19
+ return next({ ...args });
20
+ };
21
+ }
22
+ export const checkContentLengthHeaderMiddlewareOptions = {
23
+ step: "finalizeRequest",
24
+ tags: ["CHECK_CONTENT_LENGTH_HEADER"],
25
+ name: "getCheckContentLengthHeaderPlugin",
26
+ override: true,
27
+ };
28
+ export const getCheckContentLengthHeaderPlugin = (unused) => ({
29
+ applyToStack: (clientStack) => {
30
+ clientStack.add(checkContentLengthHeader(), checkContentLengthHeaderMiddlewareOptions);
31
+ },
32
+ });
@@ -0,0 +1,9 @@
1
+ export * from "./check-content-length-header";
2
+ export * from "./region-redirect-endpoint-middleware";
3
+ export * from "./region-redirect-middleware";
4
+ export * from "./s3-expires-middleware";
5
+ export * from "./s3-express/index";
6
+ export * from "./s3Configuration";
7
+ export * from "./throw-200-exceptions";
8
+ export * from "./validate-bucket-name";
9
+ export { S3RestXmlProtocol } from "./protocol/S3RestXmlProtocol";