1
0
mirror of https://github.com/square/okhttp.git synced 2025-11-20 07:42:27 +03:00
Files
Yuri Schimke b7290e4db2 Add multi-release jars to enable Java Modules (#8767)
* Add multi-release jars to enable Java Modules
* Fix android tests
* Avoid running module tests on JDK 8
* Add a jlink run task to demonstrate java modules
2025-09-21 07:22:22 +01:00
..
2022-03-06 15:31:31 +00:00

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.