客户端插件
许多应用程序需要超出应用程序逻辑范围的常见功能。这可能包括像日志、序列化或授权等。所有这些都在 Ktor 中通过我们称之为“插件”的方式提供。
添加插件依赖项
插件可能需要单独的依赖项。例如,Logging 插件要求在构建脚本中添加 ktor-client-logging
artifact:
Kotlin
Groovy
XML
你可以从所需插件的相关主题中了解所需的依赖项。
安装插件
要安装插件,你需要将其传递给 客户端配置代码块内的 install
函数。例如,安装 Logging
插件如下所示:
kotlin
import io.ktor.client.*
import io.ktor.client.engine.cio.*
import io.ktor.client.plugins.logging.*
val client = HttpClient(CIO) {
install(Logging)
}
配置插件
你可以在 install
代码块内配置插件。例如,对于 Logging 插件,你可以指定日志记录器、日志级别以及过滤日志消息的条件:
kotlin
runBlocking {
val client = HttpClient(CIO) {
install(Logging) {
logger = Logger.DEFAULT
level = LogLevel.HEADERS
filter { request ->
request.url.host.contains("ktor.io")
}
sanitizeHeader { header -> header == HttpHeaders.Authorization }
创建自定义插件
要了解如何创建自定义插件,请参考 Custom client plugins。