クライアントプラグイン
多くのアプリケーションでは、アプリケーションロジックの範囲外となる共通機能が必要です。これには、ロギングやシリアライゼーション、認証などが挙げられます。これらの機能はすべて、Ktorではプラグインと呼ばれる仕組みによって提供されます。
プラグインの依存関係を追加する
プラグインには個別の依存関係が必要な場合があります。例えば、ロギングプラグインでは、ビルドスクリプトにktor-client-logging
アーティファクトの追加が必要です。
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
ブロック内でプラグインを設定できます。例えば、ロギングプラグインの場合、ロガー、ロギングレベル、ログメッセージをフィルタリングする条件を指定できます。
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 }
カスタムプラグインを作成する
カスタムプラグインの作成方法については、カスタムクライアントプラグインを参照してください。