dave08
03/25/2019, 2:39 PMclass MoshiSerializer(block: Moshi.Builder.() -> Moshi = { build() }) : JsonSerializer {
private val backend: Moshi = Moshi.Builder().run { block() }
override fun write(data: Any): OutgoingContent = TextContent(backend.adapter<Any>(data.javaClass).toJson(data), ContentType.Application.Json)
override suspend fun read(info: TypeInfo, response: HttpResponse): Any = withContext(<http://Dispatchers.IO|Dispatchers.IO>) {
val text= response.readText()
return@withContext backend.adapter<Any>(info.type.java).fromJson(text)!!
}
}