Sergio Casero
10/18/2018, 11:12 AMio.ktor:ktor-client-json
doesn't exists for JS, so I can't build the JS module, the dataSource is here -> https://github.com/sergiocasero/votlin-app/blob/feature/network_calls_common_client/common/src/main/kotlin/com/votlin/client/data/datasource/remote/CommonRemoteDataSource.ktJonas Bark
10/22/2018, 7:26 AMSergio Casero
10/22/2018, 7:28 AMJonas Bark
10/22/2018, 7:33 AMe5l
10/22/2018, 7:33 AMJonas Bark
10/22/2018, 7:35 AMSergio Casero
10/22/2018, 7:37 AMSergio Casero
10/22/2018, 7:38 AMclass CommonRemoteDataSource : RemoteDataSource {
private val endPoint: String = "<http://sergiocasero.es:10000>"
private val client: HttpClient = HttpClient()
override suspend fun getTalks(): List<Talk> =
JSON.parse<TalksResponse>(client.get { apiUrl("talk") }).talks
override suspend fun getTalk(talkId: Int): Talk =
JSON.parse(client.get { apiUrl("talk/$talkId") })
override suspend fun getTalksByTrack(track: String): List<Talk> =
JSON.parse<TalksResponse>(client.get { apiUrl("talk/$track") }).talks
override suspend fun rateTalk(rate: Rate): Unit = <http://client.post|client.post> {
apiUrl("talk")
body = JSON.stringify(rate)
}
private fun HttpRequestBuilder.apiUrl(path: String) {
url {
takeFrom(endPoint)
encodedPath = path
}
}
}
Sergio Casero
10/22/2018, 7:40 AM