DocsKotlin (Android/KMP)
K

Kotlin (Android/KMP)

Section Guide

Modern Ktor Client blueprint.

`DsiRepository.kt`




kotlin


import io.ktor.client.*
import io.ktor.client.request.*
import io.ktor.client.request.forms.*
import io.ktor.http.*
import java.util.Base64

class DsiRepository(private val client: HttpClient) {
private val baseUrl = "https://fake-api.devsecit.com/1.0.0/wb/"
private val appToken = "PgcQqi8ZGmlnYwd50JKo74_secure_token_2024"

suspend fun fetchData(method: String, table: String, where: String): String {
val token = Base64.getEncoder().encodeToString(appToken.toByteArray())
val ts = Base64.getEncoder().encodeToString((System.currentTimeMillis() / 1000).toString().toByteArray())

return client.post(baseUrl) {
header(HttpHeaders.Authorization, "Bearer YOUR_SECRET")
setBody(FormDataContent(Parameters.build {
append("token", token)
append("timestmp", ts)
append("method", method)
append("table", table)
append("where", where)
}))
}
}
}