From 520dfe3b582674e07dc040acdd4af1ea0174abf6 Mon Sep 17 00:00:00 2001 From: Dimitris ZARRAS <138439389+dzarras@users.noreply.github.com> Date: Mon, 20 Nov 2023 12:31:06 +0200 Subject: [PATCH] Simplify cbor-formatter response parsing. Error responses are returned with 200/OK. (#30) --- .../out/pid/EncodePidInCborWithMicroService.kt | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/src/main/kotlin/eu/europa/ec/eudi/pidissuer/adapter/out/pid/EncodePidInCborWithMicroService.kt b/src/main/kotlin/eu/europa/ec/eudi/pidissuer/adapter/out/pid/EncodePidInCborWithMicroService.kt index accf4ea0..fdfbfba0 100644 --- a/src/main/kotlin/eu/europa/ec/eudi/pidissuer/adapter/out/pid/EncodePidInCborWithMicroService.kt +++ b/src/main/kotlin/eu/europa/ec/eudi/pidissuer/adapter/out/pid/EncodePidInCborWithMicroService.kt @@ -29,7 +29,6 @@ import org.springframework.http.codec.json.KotlinSerializationJsonDecoder import org.springframework.http.codec.json.KotlinSerializationJsonEncoder import org.springframework.web.reactive.function.client.WebClient import org.springframework.web.reactive.function.client.awaitBody -import org.springframework.web.reactive.function.client.awaitExchange import java.io.StringWriter import kotlin.io.encoding.Base64 import kotlin.io.encoding.ExperimentalEncodingApi @@ -61,20 +60,14 @@ class EncodePidInCborWithMicroService(private val creatorUrl: HttpsUrl) : Encode ): String = coroutineScope { log.info("Requesting PID in mso_mdoc for ${pid.familyName} ...") val request = createMsoMdocReq(pid, pidMetaData, holderKey) - val response = webClient - .post() + webClient.post() .accept(MediaType.APPLICATION_JSON) .contentType(MediaType.APPLICATION_JSON) .bodyValue(request) - .awaitExchange { response -> - val statusCode = response.statusCode() - when { - statusCode.is2xxSuccessful -> response.awaitBody() - statusCode.is4xxClientError -> response.awaitBody() - else -> error("Unexpected error statusCode = $statusCode") - } - } - response.fold().getOrThrow() + .retrieve() + .awaitBody() + .fold() + .getOrThrow() } }