|
7 | 7 | import Foundation
|
8 | 8 | import AWSS3
|
9 | 9 | @_spi(SmithyReadWrite) import ClientRuntime
|
10 |
| -@_spi(UnknownAWSHTTPServiceError) @_spi(SmithyReadWrite) import AWSClientRuntime |
| 10 | +@_spi(UnknownAWSHTTPServiceError) @_spi(SmithyReadWrite) @_spi(AWSEndpointResolverMiddleware) import AWSClientRuntime |
11 | 11 | import Smithy
|
12 | 12 | import SmithyHTTPAPI
|
13 | 13 | import SmithyRetries
|
@@ -60,12 +60,14 @@ extension UploadPartInput {
|
60 | 60 | builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions))
|
61 | 61 | builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:))
|
62 | 62 | builder.applySigner(ClientRuntime.SignerMiddleware<UploadPartOutput>())
|
63 |
| - let endpointParams = EndpointParams(accelerate: config.accelerate ?? false, bucket: input.bucket, disableMultiRegionAccessPoints: config.disableMultiRegionAccessPoints ?? false, disableS3ExpressSessionAuth: config.disableS3ExpressSessionAuth, endpoint: config.endpoint, forcePathStyle: config.forcePathStyle ?? false, key: input.key, region: config.region, useArnRegion: config.useArnRegion, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false, useGlobalEndpoint: config.useGlobalEndpoint ?? false) |
64 |
| - context.set(key: Smithy.AttributeKey<EndpointParams>(name: "EndpointParams"), value: endpointParams) |
65 |
| - builder.applyEndpoint(AWSClientRuntime.EndpointResolverMiddleware<UploadPartOutput, EndpointParams>(endpointResolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) }, endpointParams: endpointParams)) |
| 63 | + let endpointParamsBlock = { [config] (context: Smithy.Context) in |
| 64 | + EndpointParams(accelerate: config.accelerate ?? false, bucket: input.bucket, disableMultiRegionAccessPoints: config.disableMultiRegionAccessPoints ?? false, disableS3ExpressSessionAuth: config.disableS3ExpressSessionAuth, endpoint: config.endpoint, forcePathStyle: config.forcePathStyle ?? false, key: input.key, region: config.region, useArnRegion: config.useArnRegion, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false, useGlobalEndpoint: config.useGlobalEndpoint ?? false) |
| 65 | + } |
| 66 | + context.set(key: Smithy.AttributeKey<EndpointParams>(name: "EndpointParams"), value: endpointParamsBlock(context)) |
| 67 | + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware<UploadPartOutput, EndpointParams>(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) |
66 | 68 | builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware<UploadPartOutput>())
|
67 | 69 | builder.interceptors.add(AWSClientRuntime.AWSS3ErrorWith200StatusXMLMiddleware<UploadPartInput, UploadPartOutput>())
|
68 |
| - builder.interceptors.add(AWSClientRuntime.FlexibleChecksumsRequestMiddleware<UploadPartInput, UploadPartOutput>(checksumAlgorithm: input.checksumAlgorithm?.rawValue)) |
| 70 | + builder.interceptors.add(AWSClientRuntime.FlexibleChecksumsRequestMiddleware<UploadPartInput, UploadPartOutput>(requestChecksumRequired: false, checksumAlgorithm: input.checksumAlgorithm?.rawValue, checksumAlgoHeaderName: "x-amz-sdk-checksum-algorithm")) |
69 | 71 | builder.serialize(UploadPartPresignedMiddleware())
|
70 | 72 | var metricsAttributes = Smithy.Attributes()
|
71 | 73 | metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "S3")
|
|
0 commit comments