首页 > 解决方案 > 向 Akka HTTP HttpRequest 添加标头

问题描述

我有一个现有的 Akka HTTP HttpRequest,我想向它添加两个标头。

val req: HttpRequest = ???
val hs: Seq[HttpHeader] = Seq(RawHeader("a", "b"))
req.addHeaders(hs)

预期的:

实际的:

在 Scala 中推荐的方法是什么?

有一个解决方法,但它有点笨拙:

req.withHeaders(req.headers ++ hs)

运行 Scala 2.12.8 和 Akka HTTP 10.1.7。

标签: scalaakka-http

解决方案


另一种解决方法可能是一个不那么笨重的小条子。这大致addHeaders在源代码中定义的方式。不幸的是,我不知道为什么addHeaders没有暴露在 scala api 中。

req.mapHeaders(_ ++ hs)

推荐阅读