Skip to content

Latest commit

 

History

History

okhttp-coroutines

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

OkHttp Coroutines

Support for Kotlin clients using coroutines.

val call = client.newCall(request)

call.executeAsync().use { response ->
  withContext(Dispatchers.IO) {
    println(response.body?.string())
  }
}

This is implemented using suspendCancellableCoroutine but uses the standard Dispatcher in OkHttp. This means that by default Kotlin's Dispatchers are not used.

Cancellation if implemented sensibly in both directions. Cancelling a coroutine scope, will cancel the call. Cancelling a call, will throw a CancellationException but not cancel the scope if caught.