1 1 | // Code generated by smithy-kotlin-codegen. DO NOT EDIT!
|
2 2 |
|
3 3 | package aws.sdk.kotlin.services.s3
|
4 4 |
|
5 5 | import aws.sdk.kotlin.runtime.auth.credentials.StaticCredentialsProvider
|
6 + | import aws.sdk.kotlin.runtime.config.AwsSdkClientOption
|
6 7 | import aws.sdk.kotlin.runtime.http.ApiMetadata
|
7 8 | import aws.sdk.kotlin.runtime.http.AwsUserAgentMetadata
|
8 9 | import aws.sdk.kotlin.runtime.http.interceptors.AwsSpanInterceptor
|
9 10 | import aws.sdk.kotlin.runtime.http.interceptors.IgnoreCompositeFlexibleChecksumResponseInterceptor
|
10 11 | import aws.sdk.kotlin.runtime.http.interceptors.businessmetrics.AwsBusinessMetric
|
11 12 | import aws.sdk.kotlin.runtime.http.interceptors.businessmetrics.BusinessMetricsInterceptor
|
12 13 | import aws.sdk.kotlin.runtime.http.middleware.AwsRetryHeaderMiddleware
|
13 14 | import aws.sdk.kotlin.runtime.http.middleware.RecursionDetection
|
14 15 | import aws.sdk.kotlin.runtime.http.middleware.UserAgent
|
15 16 | import aws.sdk.kotlin.services.s3.auth.S3AuthSchemeProviderAdapter
|
16 17 | import aws.sdk.kotlin.services.s3.auth.S3IdentityProviderConfigAdapter
|
17 18 | import aws.sdk.kotlin.services.s3.endpoints.internal.EndpointResolverAdapter
|
18 19 | import aws.sdk.kotlin.services.s3.express.S3ExpressDefaultChecksumAlgorithm
|
19 20 | import aws.sdk.kotlin.services.s3.express.SigV4S3ExpressAuthScheme
|
20 21 | import aws.sdk.kotlin.services.s3.internal.ExpiresFieldInterceptor
|
21 22 | import aws.sdk.kotlin.services.s3.internal.Handle200ErrorsInterceptor
|
22 23 | import aws.sdk.kotlin.services.s3.model.*
|
23 24 | import aws.sdk.kotlin.services.s3.serde.*
|
24 25 | import aws.smithy.kotlin.runtime.auth.AuthSchemeId
|
25 26 | import aws.smithy.kotlin.runtime.auth.awssigning.AwsSignedBodyHeader
|
26 27 | import aws.smithy.kotlin.runtime.auth.awssigning.AwsSigningAttributes
|
27 28 | import aws.smithy.kotlin.runtime.auth.awssigning.DefaultAwsSigner
|
28 29 | import aws.smithy.kotlin.runtime.awsprotocol.AwsAttributes
|
29 30 | import aws.smithy.kotlin.runtime.businessmetrics.SmithyBusinessMetric
|
30 31 | import aws.smithy.kotlin.runtime.businessmetrics.emitBusinessMetric
|
31 32 | import aws.smithy.kotlin.runtime.client.SdkClientOption
|
32 33 | import aws.smithy.kotlin.runtime.client.config.RequestHttpChecksumConfig
|
33 34 | import aws.smithy.kotlin.runtime.client.config.ResponseHttpChecksumConfig
|
34 35 | import aws.smithy.kotlin.runtime.collections.attributesOf
|
35 36 | import aws.smithy.kotlin.runtime.collections.putIfAbsent
|
6983 6984 | op.interceptors.add(Handle200ErrorsInterceptor)
|
6984 6985 | op.context[S3Attributes.ExpressClient] = this
|
6985 6986 | op.interceptors.add(ExpiresFieldInterceptor)
|
6986 6987 | op.interceptors.add(BusinessMetricsInterceptor())
|
6987 6988 | if (config.credentialsProvider is StaticCredentialsProvider) {
|
6988 6989 | op.context.emitBusinessMetric(AwsBusinessMetric.Credentials.CREDENTIALS_CODE)
|
6989 6990 | }
|
6990 6991 | op.install(UserAgent(awsUserAgentMetadata))
|
6991 6992 | op.install(RecursionDetection())
|
6992 6993 | op.interceptors.addAll(config.interceptors)
|
6993 6994 | return op.roundTrip(client, input)
|
6994 6995 | }
|
6995 6996 |
|
6996 6997 | override fun close() {
|
6997 6998 | managedResources.unshareAll()
|
6998 6999 | }
|
6999 7000 |
|
7000 7001 | /**
|
7001 7002 | * merge the defaults configured for the service into the execution context before firing off a request
|
7002 7003 | */
|
7003 7004 | private fun mergeServiceDefaults(ctx: ExecutionContext) {
|
7004 7005 | ctx.putIfAbsentNotNull(HttpOperationContext.AttemptTimeout, config.attemptTimeout)
|
7005 7006 | ctx.putIfAbsentNotNull(HttpOperationContext.CallTimeout, config.callTimeout)
|
7006 7007 | ctx.putIfAbsent(SdkClientOption.ClientName, config.clientName)
|
7007 7008 | ctx.putIfAbsent(SdkClientOption.LogMode, config.logMode)
|
7008 7009 | ctx.putIfAbsentNotNull(SdkClientOption.IdempotencyTokenProvider, config.idempotencyTokenProvider)
|
7009 7010 | ctx.putIfAbsentNotNull(AwsAttributes.Region, config.region)
|
7010 7011 | ctx.putIfAbsentNotNull(AwsSigningAttributes.SigningRegion, config.region)
|
7011 7012 | ctx.putIfAbsent(AwsSigningAttributes.SigningService, "s3")
|
7012 7013 | ctx.putIfAbsent(AwsSigningAttributes.CredentialsProvider, config.credentialsProvider)
|
7014 + | ctx.putIfAbsentNotNull(AwsSdkClientOption.ApplicationId, config.applicationId)
|
7013 7015 | ctx.putIfAbsentNotNull(AwsSigningAttributes.ConfigSigningRegionSet, config.sigV4aSigningRegionSet)
|
7014 7016 | ctx.putIfAbsent(AwsSigningAttributes.NormalizeUriPath, false)
|
7015 7017 | ctx.putIfAbsent(AwsSigningAttributes.UseDoubleUriEncode, false)
|
7016 7018 | ctx.putIfAbsent(AwsSigningAttributes.SignedBodyHeader, AwsSignedBodyHeader.X_AMZ_CONTENT_SHA256)
|
7017 7019 | ctx.putIfAbsent(AwsSigningAttributes.EnableAwsChunked, config.enableAwsChunked)
|
7018 7020 | }
|
7019 7021 |
|
7020 7022 | }
|