scala - 使用 akka http,如何将请求 header 注入(inject)到服务器中的传入路由中?

标签 scala http request header akka

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

例如,我的路线可能是这样的

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

我想使用“路由的实际处理”可访问的属性(属性、请求 header 等)来标记此路由。

(我高度简化了我的示例。在我的实际代码中,路由处理并不是我可以简单地直接在这段代码中传递一个值。所以,我正在考虑能够标记以某种方式请求本身。)

最佳答案

您可以使用mapRequest来修改HttpRequest:

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

关于scala - 使用 akka http,如何将请求 header 注入(inject)到服务器中的传入路由中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56221929/

相关文章:

java - 在 POST 请求后,我如何在响应正文中获取特定变量

Scala 列表 : why the IDEA prompts that Unused expression without side effects

Scala groupby key sum value over a Seq of (key, value) 同时保持顺序

scala - 如何将 Mongo BasicDBList 转换为不可变的 scala 列表

javascript - Angular HTTP 拦截器没有命中错误函数

http - 使用 Angular 和 HTTP 了解 rxjs

node.js - Nodejs、Express一开始获取请求参数

scala - 为什么没有部分函数类型文字?

http - 如果 HTTP/1.0 客户端请求连接 : keep-alive,,它会理解分块编码吗?

python - Django 无法上传多个文件并且 request.FILES 似乎为空