interface HttpClientEngine : CoroutineScope
Base interface use to define engines for HttpClient.
abstract val config: HttpClientEngineConfig
Engine configuration |
|
abstract val dispatcher: CoroutineDispatcher
CoroutineDispatcher specified for io operations. |
|
open val supportedCapabilities: Set<HttpClientEngineCapability<*>>
Set of supported engine extensions. |
abstract suspend fun execute(data: HttpRequestData): HttpResponseData
Creates a new HttpClientCall specific for this engine, using a request data. |
|
open fun install(client: HttpClient): Unit
Install engine into HttpClient. |
fun CoroutineScope.mapEngineExceptions(input: ByteReadChannel, request: HttpRequestData): ByteReadChannel
Returns ByteReadChannel with ByteChannel.close handler that returns SocketTimeoutException instead of SocketTimeoutException. fun CoroutineScope.mapEngineExceptions(output: ByteWriteChannel, request: HttpRequestData): ByteWriteChannel
Returns ByteWriteChannel with ByteChannel.close handler that returns SocketTimeoutException instead of SocketTimeoutException. |
abstract class HttpClientEngineBase : HttpClientEngine
Abstract implementation of HttpClientEngine responsible for lifecycle control of dispatcher and coroutineContext as well as proper call context management. Should be considered as the best parent class for custom HttpClientEngine implementations. |
|
abstract class
Base jvm implementation for HttpClientEngine |