From 4972774bb3d2b96a47b17c89d4bc6f9aeac27e25 Mon Sep 17 00:00:00 2001 From: Isidro Henoch Date: Mon, 6 Dec 2021 02:33:20 -0600 Subject: WIP: Adds the token persistance --- .../TrackerMap/client/infrastructure/ApiClient.kt | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/infrastructure') diff --git a/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/infrastructure/ApiClient.kt b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/infrastructure/ApiClient.kt index 91d0aa2..4ec7b46 100644 --- a/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/infrastructure/ApiClient.kt +++ b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/infrastructure/ApiClient.kt @@ -1,5 +1,7 @@ package mx.trackermap.TrackerMap.client.infrastructure +import com.russhwolf.settings.Settings +import com.russhwolf.settings.string import io.ktor.client.* import io.ktor.client.call.* import io.ktor.client.engine.cio.* @@ -14,6 +16,7 @@ import io.ktor.client.request.forms.FormDataContent import io.ktor.client.statement.* import io.ktor.http.* import io.ktor.util.* +import mx.trackermap.TrackerMap.client.apis.ACCESS_TOKEN_KEY import kotlinx.serialization.json.Json as KotlinJson open class ApiClient(val baseUrl: String) { @@ -52,6 +55,13 @@ open class ApiClient(val baseUrl: String) { ) } + var token: String = "" + + init { + val settings = Settings() + token = settings.getString(ACCESS_TOKEN_KEY, "") + } + protected inline fun fillRequest( requestBuilder: HttpRequestBuilder, content: T, @@ -155,6 +165,9 @@ open class ApiClient(val baseUrl: String) { } } + if (token.isNotEmpty()) { + request.headers["Cookie"] = token + } val response: HttpResponse = client.request(request) // TODO: handle specific mapping types. e.g. Map> -- cgit v1.2.3