From 88be221eb6a907f0b8467608cae6ce0c9821b42e Mon Sep 17 00:00:00 2001 From: Jim Martens Date: Thu, 20 Mar 2025 16:03:29 +0100 Subject: [PATCH] fix: Fix "Stream already closed" error --- .../bahnApi/service/BahnApiService.kt | 6 ++---- .../bahnApi/service/BahnResponseLogger.kt | 20 ------------------- 2 files changed, 2 insertions(+), 24 deletions(-) delete mode 100644 module-bahnApi/src/main/kotlin/de/twomartens/timetable/bahnApi/service/BahnResponseLogger.kt diff --git a/module-bahnApi/src/main/kotlin/de/twomartens/timetable/bahnApi/service/BahnApiService.kt b/module-bahnApi/src/main/kotlin/de/twomartens/timetable/bahnApi/service/BahnApiService.kt index 97fd658..1c7199f 100644 --- a/module-bahnApi/src/main/kotlin/de/twomartens/timetable/bahnApi/service/BahnApiService.kt +++ b/module-bahnApi/src/main/kotlin/de/twomartens/timetable/bahnApi/service/BahnApiService.kt @@ -38,10 +38,9 @@ class BahnApiService( val time = LocalTime.of(hourAtDay.hour.value, 0) val day = hourAtDay.date.format(dateFormatter) val hour = time.format(timeFormatter) - val responseLogger = BahnResponseLogger() val uri = "https://apis.deutschebahn.com/db-api-marketplace/apis/timetables/v1/plan/" + "${eva.value}/${day}/${hour}" - val response = restClient.get() + val body = restClient.get() .uri(uri) .headers { it.accept = mutableListOf(MediaType.APPLICATION_XML) @@ -50,9 +49,8 @@ class BahnApiService( it.set("DB-Api-Key", properties.clientSecret) } .retrieve() - .onStatus(responseLogger) + .body(BahnTimetable::class.java) log.debug { "Response from DB API, station [${eva.value}], date [$day], hour [$hour], requestURI [$uri]" } - val body = response.body(BahnTimetable::class.java) body!!.eva = eva return body } diff --git a/module-bahnApi/src/main/kotlin/de/twomartens/timetable/bahnApi/service/BahnResponseLogger.kt b/module-bahnApi/src/main/kotlin/de/twomartens/timetable/bahnApi/service/BahnResponseLogger.kt deleted file mode 100644 index b5522af..0000000 --- a/module-bahnApi/src/main/kotlin/de/twomartens/timetable/bahnApi/service/BahnResponseLogger.kt +++ /dev/null @@ -1,20 +0,0 @@ -package de.twomartens.timetable.bahnApi.service - -import mu.KotlinLogging -import org.springframework.http.client.ClientHttpResponse -import org.springframework.web.client.ResponseErrorHandler - -class BahnResponseLogger : ResponseErrorHandler { - override fun hasError(response: ClientHttpResponse): Boolean { - return true - } - - override fun handleError(response: ClientHttpResponse) { - val body = response.body.bufferedReader().use { it.readText() } - log.debug { "Status code [${response.statusCode.value()}], status text [${response.statusText}], headers [${response.headers}], body [$body]" } - } - - companion object { - private val log = KotlinLogging.logger {} - } -} \ No newline at end of file