#native #interceptor #ktor
#собственный #перехватчик #ktor
Вопрос:
Мне нужно добавить заголовок к запросам на основе тела. Как я могу добавить перехватчик для клиентских запросов? Я пробовал
httpClient.requestPipeline.intercept(HttpRequestPipeline.Send) { context: PipelineContext<Any, HttpRequestBuilder> ->
context.proceed()
}
Но он не был вызван
Ответ №1:
Вы можете использовать State
фазу HttpSendPipeline
запроса для изменения:
val client = HttpClient(Apache)
client.sendPipeline.intercept(HttpSendPipeline.State) {
context.headers.append("myHeader", context.body.toString())
}
val r = client.get<String>("http://httpbin.org/get")
println(r)