File tree Expand file tree Collapse file tree 2 files changed +32
-1
lines changed
codegen/smithy-aws-swift-codegen/src/main
kotlin/software/amazon/smithy/aws/swift/codegen/customization/glacier
resources/META-INF/services Expand file tree Collapse file tree 2 files changed +32
-1
lines changed Original file line number Diff line number Diff line change 1+ package software.amazon.smithy.aws.swift.codegen.customization.glacier
2+
3+ import software.amazon.smithy.aws.swift.codegen.middleware.MutateHeadersMiddleware
4+ import software.amazon.smithy.aws.swift.codegen.sdkId
5+ import software.amazon.smithy.model.Model
6+ import software.amazon.smithy.model.shapes.ServiceShape
7+ import software.amazon.smithy.swift.codegen.SwiftSettings
8+ import software.amazon.smithy.swift.codegen.integration.OperationMiddlewareRenderable
9+ import software.amazon.smithy.swift.codegen.integration.ProtocolGenerator
10+ import software.amazon.smithy.swift.codegen.integration.SwiftIntegration
11+ import software.amazon.smithy.swift.codegen.model.expectShape
12+
13+ /* *
14+ * Adds a middleware that sets the "X-Amz-Glacier-Version" header to the service model version for all requests
15+ * See https://docs.aws.amazon.com/amazonglacier/latest/dev/api-common-request-headers.html
16+ */
17+ class GlacierAddVersionHeader : SwiftIntegration {
18+
19+ override fun enabledForService (model : Model , settings : SwiftSettings ) =
20+ model.expectShape<ServiceShape >(settings.service).sdkId.equals(" Glacier" , ignoreCase = true )
21+
22+ override fun customizeMiddleware (
23+ ctx : ProtocolGenerator .GenerationContext ,
24+ resolved : List <OperationMiddlewareRenderable >
25+ ) = resolved + MutateHeadersMiddleware (
26+ extraHeaders = mapOf (
27+ " X-Amz-Glacier-Version" to ctx.model.expectShape<ServiceShape >(ctx.settings.service).version
28+ )
29+ )
30+ }
Original file line number Diff line number Diff line change 11software.amazon.smithy.aws.swift.codegen.AddProtocols
22software.amazon.smithy.aws.swift.codegen.customization.s3.S3SigningConfig
3- software.amazon.smithy.aws.swift.codegen.customization.apigateway.ApiGatewayAddAcceptHeader
3+ software.amazon.smithy.aws.swift.codegen.customization.apigateway.ApiGatewayAddAcceptHeader
4+ software.amazon.smithy.aws.swift.codegen.customization.glacier.GlacierAddVersionHeader
You can’t perform that action at this time.
0 commit comments