1
0
mirror of https://github.com/square/okhttp.git synced 2025-08-08 23:42:08 +03:00
Files
okhttp/okhttp-coroutines

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.