如何使用Scala / Akka Http处理多个HTTP头

问题描述 投票:0回答:1

我是Scala和Akka Http的新手。请原谅这个新手问题。我有以下代码来处理传入的HTTP GET请求:

def  clickRoute():  Route = func1( requestData =>
  pathPrefix(“somewebevents”) {
    parameters(a, b) {
      ( my_a_var, my_b_var) =>
          optionalHeaderValueByName(“Referer”) { refHeaderOpt =>

               // process_logic
          }
    }
 }

代码在处理Referer HTTP头之后在“process_logic”中执行某些操作。我想要做的是它还处理另一个HTTP标头“User-Agent”。我几乎想把两者连在一起,抓住Referer和User-Agent。

我一直在使用语法,并且找不到可以获取多个HTTP标头然后继续“process_logic”的方法。

任何提示非常感谢。

scala http-headers akka-http
1个回答
1
投票

使用默认指令,您可以使用extractRequest

extractRequest { request =>
  val headers: Seq[HttpHeader] = request.headers
  // fetch the headers you need for processing
}

如果您需要这样做,经常实现自定义指令也是一种选择。

© www.soinside.com 2019 - 2024. All rights reserved.