request
inline suspend fun <Body : Any, Output : Any> request(crossinline onRequest: RequestScope.() -> Unit, crossinline onResponse: suspend ResponseScope<Body>.() -> Output): Output?
inline suspend fun <Body : Any, Output : Any> request(url: String, crossinline onRequest: RequestScope.() -> Unit = {}, crossinline onResponse: suspend (Body) -> Output): Output?