INNER CODE UNIT · Kotlin
AppleHttpLoader
kittinunf/fuel · fuel/src/appleMain/kotlin/fuel/AppleHttpLoader.kt:6
public class AppleHttpLoader(
sessionConfiguration: NSURLSessionConfiguration,
) : HttpLoader {
private val fetcher by lazy { HttpUrlFetcher(sessionConfiguration) }
public override suspend fun get(request: Request.Builder.() -> Unit): HttpResponse {
val requestBuilder = Request.Builder().apply(request).build()
return fetcher.fetch("GET", requestBuilder)
}
public override suspend fun post(request: Request.Builder.() -> Unit): HttpResponse {
val requestBuilder = Request.Builder().apply(request).build()
requireNotNull(requestBuilder.body) { "body for method POST should not be null" }
return fetcher.fetch("POST", requestBuilder)
}
public override suspend fun put(request: Request.Builder.() -> Unit): HttpResponse {
val requestBuilder = Request.Builder().apply(request).build()