fix: allow unknown json fields

This commit is contained in:
Canny 2022-10-11 21:29:16 +03:00
parent a1052bff3e
commit 796dde1e3c
No known key found for this signature in database
GPG Key ID: 395CCB0AA979F27B
2 changed files with 14 additions and 4 deletions

View File

@ -6,6 +6,7 @@ import com.vk.knet.cornet.CronetKnetEngine
import com.vk.knet.cornet.config.CronetCache
import com.vk.knet.cornet.config.CronetQuic
import com.vk.knet.cornet.pool.buffer.CronetNativeByteBufferPool
import kotlinx.serialization.json.Json
import org.koin.android.ext.koin.androidContext
import org.koin.dsl.module
import java.util.concurrent.TimeUnit
@ -36,7 +37,16 @@ val httpModule = module {
}
}
fun json() = Json {
encodeDefaults = true
isLenient = true
ignoreUnknownKeys = true
}
single {
client(androidContext())
}
single {
json()
}
}

View File

@ -11,18 +11,18 @@ import kotlinx.coroutines.withContext
import kotlinx.serialization.decodeFromString
import kotlinx.serialization.json.Json
class GitHubRepository(cronet: CronetKnetEngine) {
class GitHubRepository(cronet: CronetKnetEngine, private val json: Json) {
val client = Knet.Build(cronet)
private val client = Knet.Build(cronet)
suspend fun fetchAssets() = withContext(Dispatchers.Default) {
val stream = client.execute(HttpRequest(HttpMethod.GET, "$apiUrl/tools")).body!!.asString()
Json.decodeFromString(stream) as Tools
json.decodeFromString(stream) as Tools
}
suspend fun fetchContributors() = withContext(Dispatchers.Default) {
val stream = client.execute(HttpRequest(HttpMethod.GET,"$apiUrl/contributors")).body!!.asString()
Json.decodeFromString(stream) as Repositories
json.decodeFromString(stream) as Repositories
}
private companion object {