客戶端插件
許多應用程式需要超出其應用邏輯範圍的共同功能。這可能是像日誌記錄、序列化或授權等。所有這些都在 Ktor 中透過我們稱之為 Plugins 的方式提供。
添加插件依賴
一個插件可能需要單獨的依賴。例如,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 }
創建自定義插件
要了解如何創建自定義插件,請參閱自定義客戶端插件。