如何使用Scala / Akka Http处理多个HTTP头
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Scala / Akka Http处理多个HTTP头相关的知识,希望对你有一定的参考价值。
我是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”的方法。
任何提示非常感谢。
答案
使用默认指令,您可以使用extractRequest
:
extractRequest { request =>
val headers: Seq[HttpHeader] = request.headers
// fetch the headers you need for processing
}
如果您需要这样做,经常实现自定义指令也是一种选择。
以上是关于如何使用Scala / Akka Http处理多个HTTP头的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 AKKA-HTTP、spray-json、oauth2 和 slick 优化 scala REST api?