使用akka http,如何将请求标头注入服务器中的传入路由?

时间:2019-05-20 13:25:12

标签: scala http request header akka

在使用akka http的服务器中,我想用属性或自定义HTTP请求标头标记某些路由,该属性可用于该请求的下游处理。我怎样才能做到这一点?我看到了如何提取请求,但没有看到如何以传递的方式修改该请求。

例如,我的路线可能类似于

val route = (get & path("yay") {
  complete(...the actual processing of the route...)
}

并且我想用一个属性(属性,请求标头等)标记此路由,该属性可用于“路由的实际处理”。

(我正在高度简化我的示例。在我的实际代码中,路由处理不是我可以简单地直接在此代码块中直接传递(例如,一个值)的东西。因此,我正在考虑能够标记请求本身。)

1 个答案:

答案 0 :(得分:2)

您可以使用mapRequest来修改HttpRequest:

val route = mapRequest(...modifying the request...) {
  complete(...the actual processing of the route...)
}