![JAR search and dependency download from the Maven repository](/logo.png)
com.hiczp.picacomic.api.feature.DoBeforeSendFeature.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of picacomic-api Show documentation
Show all versions of picacomic-api Show documentation
Call PicaComic API in Kotlin
The newest version!
package com.hiczp.picacomic.api.feature
import io.ktor.client.HttpClient
import io.ktor.client.HttpClientConfig
import io.ktor.client.features.HttpClientFeature
import io.ktor.client.request.HttpRequestBuilder
import io.ktor.client.request.HttpRequestPipeline
import io.ktor.util.AttributeKey
internal class DoBeforeSendFeature(private val builder: HttpRequestBuilder.() -> Unit) {
companion object Feature : HttpClientFeature {
override val key = AttributeKey("DoBeforeSend")
override fun prepare(block: HttpRequestBuilder.() -> Unit) = DoBeforeSendFeature(block)
override fun install(feature: DoBeforeSendFeature, scope: HttpClient) {
scope.requestPipeline.intercept(HttpRequestPipeline.Render) {
context.apply(feature.builder)
}
}
}
}
fun HttpClientConfig<*>.doBeforeSend(block: HttpRequestBuilder.() -> Unit) {
install(DoBeforeSendFeature) {
block()
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy