Skip to content

Commit

Permalink
Add initial httpsloader (ethereum-lists#2104)
Browse files Browse the repository at this point in the history
Did this in several projects now - so moving it to a module
  • Loading branch information
ligi authored Jan 7, 2023
1 parent 4ecc635 commit 18081fb
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 0 deletions.
19 changes: 19 additions & 0 deletions httpsloader/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -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")
}
Original file line number Diff line number Diff line change
@@ -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()) }
}
1 change: 1 addition & 0 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
include(":model")
include(":httpsloader")
include(":processor")

0 comments on commit 18081fb

Please sign in to comment.