我试图从User-agent
中提取Request-Header
标题,我试过了:
headerValue(extractUserAgent) { userAgent =>
}
def extractUserAgent: HttpHeader => Option[String] = {
case h: `User-Agent` => Some(h.)
case x => None
}
我被困在第Some(h.)
行,我认为它可能会给User-Agent
一些字符串值,但不是字符串值在It.Help中!请
答案 0 :(得分:2)
我终于得到了解决方案
path("test") {
get {
headerValueByName("User-Agent") { header =>
println(">>>>>>>>>>>>>>>>>>>>>>" + header)
complete(s"""{ "User-Agent" : "${header}" }""")
}
}
}
答案 1 :(得分:0)
在您的示例中,给出h来匹配中给出的任何现有对象。因此,除非
User-Agent
是要与其匹配的对象,否则它将无法工作。您可以按以下方式更新代码:
val uaHeader = "User-Agent".toLowerCase
def extractUA: HttpHeader => Option[String] = {
case HttpHeader(`uaHeader`,value) => Some(value)
case _ => None
}
答案 2 :(得分:-1)
我认为您应该阅读文档,正确编写并在那里找到您的解决方案:
http://doc.akka.io/docs/akka-stream-and-http-experimental/1.0/scala/http/common/http-model.html