aws.sdk.kotlin.services.translate.transform.DeleteTerminologyOperationDeserializer.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of translate Show documentation
Show all versions of translate Show documentation
The AWS Kotlin client for Translate
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.translate.transform
import aws.sdk.kotlin.runtime.UnknownServiceErrorException
import aws.sdk.kotlin.runtime.http.setAseErrorMetadata
import aws.sdk.kotlin.runtime.http.withPayload
import aws.sdk.kotlin.runtime.protocol.json.RestJsonErrorDeserializer
import aws.sdk.kotlin.services.translate.model.DeleteTerminologyResponse
import aws.sdk.kotlin.services.translate.model.TranslateException
import aws.smithy.kotlin.runtime.client.ExecutionContext
import aws.smithy.kotlin.runtime.http.isSuccess
import aws.smithy.kotlin.runtime.http.operation.HttpDeserialize
import aws.smithy.kotlin.runtime.http.readAll
import aws.smithy.kotlin.runtime.http.response.HttpResponse
internal class DeleteTerminologyOperationDeserializer: HttpDeserialize {
override suspend fun deserialize(context: ExecutionContext, response: HttpResponse): DeleteTerminologyResponse {
if (!response.status.isSuccess()) {
throwDeleteTerminologyError(context, response)
}
val builder = DeleteTerminologyResponse.builder()
return builder.build()
}
}
private suspend fun throwDeleteTerminologyError(context: ExecutionContext, response: HttpResponse): kotlin.Nothing {
val payload = response.body.readAll()
val wrappedResponse = response.withPayload(payload)
val errorDetails = try {
RestJsonErrorDeserializer.deserialize(response.headers, payload)
} catch (ex: Exception) {
throw UnknownServiceErrorException("failed to parse response as awsJson1_1 error", ex).also {
setAseErrorMetadata(it, wrappedResponse, null)
}
}
val modeledExceptionDeserializer = when(errorDetails.code) {
"InternalServerException" -> InternalServerExceptionDeserializer()
"InvalidParameterValueException" -> InvalidParameterValueExceptionDeserializer()
"ResourceNotFoundException" -> ResourceNotFoundExceptionDeserializer()
"TooManyRequestsException" -> TooManyRequestsExceptionDeserializer()
else -> throw TranslateException(errorDetails.message)
}
val modeledException = modeledExceptionDeserializer.deserialize(context, wrappedResponse)
setAseErrorMetadata(modeledException, wrappedResponse, errorDetails)
throw modeledException
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy