From fc9cdc04d02438e94a1090a343045f50c8fda806 Mon Sep 17 00:00:00 2001 From: Cilly Leang Date: Fri, 15 Aug 2025 18:33:28 +1000 Subject: [PATCH] feat(shared): log api requests --- .../kotlin/moe/lava/banksia/client/di/ClientModule.kt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/composeApp/src/commonMain/kotlin/moe/lava/banksia/client/di/ClientModule.kt b/composeApp/src/commonMain/kotlin/moe/lava/banksia/client/di/ClientModule.kt index 7f5d14b..ca51f26 100644 --- a/composeApp/src/commonMain/kotlin/moe/lava/banksia/client/di/ClientModule.kt +++ b/composeApp/src/commonMain/kotlin/moe/lava/banksia/client/di/ClientModule.kt @@ -1,8 +1,10 @@ package moe.lava.banksia.client.di import io.ktor.client.HttpClient +import io.ktor.client.plugins.HttpSend import io.ktor.client.plugins.contentnegotiation.ContentNegotiation import io.ktor.client.plugins.defaultRequest +import io.ktor.client.plugins.plugin import io.ktor.serialization.kotlinx.json.json import kotlinx.serialization.json.Json import moe.lava.banksia.Constants @@ -14,6 +16,7 @@ import moe.lava.banksia.client.repository.RouteRepository import moe.lava.banksia.client.repository.StopRepository import moe.lava.banksia.data.ptv.PtvService import moe.lava.banksia.ui.screens.MapScreenViewModel +import moe.lava.banksia.util.log import org.koin.core.module.dsl.singleOf import org.koin.core.module.dsl.viewModelOf import org.koin.dsl.module @@ -31,6 +34,12 @@ val ClientModule = module { defaultRequest { url(Constants.serverUrl) } + }.also { client -> + client.plugin(HttpSend).intercept { req -> + val fullPath = req.url.build().encodedPathAndQuery + log("ktor.client", fullPath) + execute(req) + } } }