diff --git a/src/main/kotlin/no/nav/eessi/pensjon/api/geo/KodeverkService.kt b/src/main/kotlin/no/nav/eessi/pensjon/api/geo/KodeverkService.kt index 5631a7c72..92d855c4c 100644 --- a/src/main/kotlin/no/nav/eessi/pensjon/api/geo/KodeverkService.kt +++ b/src/main/kotlin/no/nav/eessi/pensjon/api/geo/KodeverkService.kt @@ -4,7 +4,9 @@ import no.nav.eessi.pensjon.utils.toJson import org.slf4j.LoggerFactory import org.springframework.http.* import org.springframework.stereotype.Service +import org.springframework.web.client.HttpStatusCodeException import org.springframework.web.client.RestTemplate +import org.springframework.web.server.ResponseStatusException @Service class KodeverkService(private val euxNavIdentRestTemplate: RestTemplate) { @@ -12,20 +14,26 @@ class KodeverkService(private val euxNavIdentRestTemplate: RestTemplate) { private val logger = LoggerFactory.getLogger(KodeverkService::class.java) fun getLandkoderAkseptertAvRina(format: String? = null): String? { - val url = "/cpi/landkoder/rina" - logger.debug("KodeverkService getLandkoderAkseptertAvRina: $url ") + val url = "/cpi/landkoder/rina${format?.let { "?format=$it" } ?: ""}" + logger.debug("KodeverkService getLandkoderAkseptertAvRina: $url") - val response: ResponseEntity = euxNavIdentRestTemplate.exchange( - if (format != null) "$url?format=$format" else url, - HttpMethod.GET, - HttpEntity(HttpHeaders().apply { - contentType = MediaType.APPLICATION_JSON - }), - String::class.java - ) - logger.debug("""getLandkoderAkseptertAvRina response body: - | url: $url - | response: ${response.toJson()}""".trimMargin()) - return response.body + return try { + val response = euxNavIdentRestTemplate.exchange( + url, + HttpMethod.GET, + HttpEntity(HttpHeaders().apply { + contentType = MediaType.APPLICATION_JSON + }), + String::class.java + ) + logger.debug("Hent landkode API, response: ${response.toJson()}".trimMargin()) + response.body + } catch (e: HttpStatusCodeException) { + logger.error("HttpStatusCodeException oppstod under henting av landkoder: ${e.message}") + throw RuntimeException(e) + } catch (e: Exception) { + logger.error("En feil oppstod under henting av landkoder: ${e.message}") + throw RuntimeException(e) + } } } \ No newline at end of file