native - Ktor 原生请求拦截器

标签 native interceptor ktor

我需要根据正文为请求添加 header 。如何为客户端请求添加拦截器?我试过了

 httpClient.requestPipeline.intercept(HttpRequestPipeline.Send) { context: PipelineContext<Any, HttpRequestBuilder> ->
            context.proceed()
}

但是没有调用

最佳答案

您可以使用HttpSendPipelineState 阶段来修改请求:

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)

关于native - Ktor 原生请求拦截器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65763597/

相关文章:

java - 加载测试内存问题

kotlin - 如何使用 Ktor 和 Kotlin 下载带有进度指示器的大文件?

android - 如何调试崩溃的android原生库?

c# - 从托管代码调用 SHCreateItemFromParsingName 时是否需要释放资源?

java - 有关将 merge() 操作从 Hibernate 3 向后移植到自定义 Hibernate 2 应用程序的任何提示?

Angular 6在拦截器内获取响应 header

java - Spring RestController - 拦截方法调用

android - 使用 Ktor 反序列化 Json 数组的问题

multithreading - Ktor、Netty 和增加每个端点的线程数

debugging - UWP 无法调试 .NET 编译代码(发布版)