Add initial httpsloader (#2104)

Did this in several projects now - so moving it to a module
This commit is contained in:
ligi 2023-01-07 11:28:37 +01:00 committed by GitHub
parent 4ecc6352c7
commit 18081fbc18
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 40 additions and 0 deletions

View File

@ -0,0 +1,19 @@
plugins {
id("maven-publish")
}
publishing {
publications {
create<MavenPublication>("maven") {
version = "1.2"
from(components["java"])
}
}
}
dependencies {
implementation(project(":model"))
implementation("com.squareup.okhttp3:okhttp:4.9.3")
implementation("com.squareup.moshi:moshi:1.14.0")
}

View File

@ -0,0 +1,20 @@
package org.ethereum.lists.chains.https
import com.squareup.moshi.JsonAdapter
import com.squareup.moshi.Moshi
import com.squareup.moshi.Types
import okhttp3.OkHttpClient
import okhttp3.Request
import org.ethereum.lists.chains.model.Chain
fun getChains(okhttpClient: OkHttpClient = OkHttpClient()): List<Chain>? {
val request = Request.Builder()
.url("https://chainid.network/chains.json")
.build()
val listMyData = Types.newParameterizedType(MutableList::class.java, Chain::class.java)
val adapter: JsonAdapter<List<Chain>> = Moshi.Builder().build().adapter(listMyData)
val response = okhttpClient.newCall(request).execute()
return response.body?.let { adapter.fromJson(it.source()) }
}

View File

@ -1,2 +1,3 @@
include(":model") include(":model")
include(":httpsloader")
include(":processor") include(":processor")