
commonMain.aws.sdk.kotlin.services.codeguruprofiler.endpoints.internal.ResolveEndpointMiddleware.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.codeguruprofiler.endpoints.internal
import aws.sdk.kotlin.runtime.endpoint.applyToRequest
import aws.sdk.kotlin.runtime.endpoint.authScheme
import aws.sdk.kotlin.services.codeguruprofiler.CodeGuruProfilerClient
import aws.sdk.kotlin.services.codeguruprofiler.endpoints.EndpointParameters
import aws.sdk.kotlin.services.codeguruprofiler.endpoints.EndpointProvider
import aws.smithy.kotlin.runtime.http.endpoints.Endpoint
import aws.smithy.kotlin.runtime.http.endpoints.setResolvedEndpoint
import aws.smithy.kotlin.runtime.http.operation.InlineMiddleware
import aws.smithy.kotlin.runtime.http.operation.SdkHttpOperation
internal class ResolveEndpointMiddleware(
private val endpointProvider: EndpointProvider,
private val buildParams: EndpointParameters.Builder.(input: I) -> Unit,
) : InlineMiddleware {
private lateinit var endpoint: Endpoint
override fun install(op: SdkHttpOperation) {
op.execution.initialize.intercept { req, next ->
val params = EndpointParameters { buildParams(req.subject) }
endpoint = endpointProvider.resolveEndpoint(params)
next.call(req)
}
op.execution.mutate.intercept { req, next ->
setResolvedEndpoint(req, endpoint)
endpoint.authScheme?.applyToRequest(req)
next.call(req)
}
}
}
internal fun EndpointParameters.Builder.bindAwsBuiltins(config: CodeGuruProfilerClient.Config) {
region = config.region
useDualStack = config.useDualStack
useFips = config.useFips
endpoint = config.endpointUrl?.toString()
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy