aboutsummaryrefslogtreecommitdiff
path: root/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/infrastructure
diff options
context:
space:
mode:
authorIsidro Henoch <imhenoch@protonmail.com>2021-12-06 02:33:20 -0600
committerIsidro Henoch <imhenoch@protonmail.com>2021-12-06 02:33:20 -0600
commit4972774bb3d2b96a47b17c89d4bc6f9aeac27e25 (patch)
tree6a12ad7014afd141f774198385d8ec81810256f5 /shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/infrastructure
parent93c204bcd190b242f1dea49e52f28c795e4d0b92 (diff)
downloadetbsa-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.kt13
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<?>>