我正在尝试使用Akka-Http& amp;阿卡插播。
但是,我遇到了Akka-Http maniuplates并解析来自上游服务器的响应头的问题。
例如,当上游服务器发送以下标头时:
Expires: "0"
Akka会将此解析为Expires Header并将值更正为:
Expires: "Wed, 01 Jan 1800 00:00:00 GMT"
虽然unix时间的开始优于"0"
,但我不希望此代理触及任何标头。我希望代理是透明的,而不是“修复”任何通过的标头。
这是简单的代理:
Http().bind("localhost", 9000).to(Sink.foreach { connection =>
logger.info("Accepted new connection from " + connection.remoteAddress)
connection handleWith pipeline
}).run()
代理流程:
Flow[HttpRequest].map(x => (x, UUID.randomUUID().toString()).via(Http().superPool[String]()).map(x => x._1)
我注意到http-server
配置允许我配置并保留原始请求标头,但http-client
似乎没有。{/ p>
raw-request-uri-header = off
我可以配置Akka,以便在我回复客户端时保留标题值吗?
答案 0 :(得分:1)
目前无法做到这一点。
我想知道暴露这种模式会有多难,以及我们必须为它付出多少复杂性,但是我错误地认为这个功能无法承受它的重量。
随意在http://github.com/akka/akka打开一张票,我们可以在那里进一步讨论。有些标题是专门处理的,所以我们确实想要将它们解析成适当的模型 - 想象一下websocket升级,连接标题等等,所以在这个特征请求背后必须有一个强有力的案例,以使其拉动它的权重IMO。
(我目前正在维护Akka HTTP)。