diff options
author | Isidro Henoch <imhenoch@protonmail.com> | 2021-12-06 02:33:20 -0600 |
---|---|---|
committer | Isidro Henoch <imhenoch@protonmail.com> | 2021-12-06 02:33:20 -0600 |
commit | 4972774bb3d2b96a47b17c89d4bc6f9aeac27e25 (patch) | |
tree | 6a12ad7014afd141f774198385d8ec81810256f5 /shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/infrastructure | |
parent | 93c204bcd190b242f1dea49e52f28c795e4d0b92 (diff) | |
download | etbsa-trackermap-mobile-4972774bb3d2b96a47b17c89d4bc6f9aeac27e25.tar.gz etbsa-trackermap-mobile-4972774bb3d2b96a47b17c89d4bc6f9aeac27e25.tar.bz2 etbsa-trackermap-mobile-4972774bb3d2b96a47b17c89d4bc6f9aeac27e25.zip |
WIP: Adds the token persistance
Diffstat (limited to 'shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/infrastructure')
-rw-r--r-- | shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/infrastructure/ApiClient.kt | 13 |
1 files changed, 13 insertions, 0 deletions
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 <reified T> 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<int, Class<?>> |