我是Scala的新手,这个问题让我感到沮丧。如何从请求中获取所有标题?
val route = {
path("lol") {
//get httpHeaders
complete(HttpResponse())
}
}
答案 0 :(得分:19)
这里至少有两个选项:
a)使用extractRequest
指令:
val route = {
path("example") {
extractRequest { request =>
request.headers // Returns `Seq[HttpHeader]`; do anything you want here
complete(HttpResponse())
}
}
}
b)明确访问RequestContext
:
val route = {
path("example") { ctx =>
ctx.request.headers // Returns `Seq[HttpHeader]`; do anything you want here
ctx.complete(...)
}
}
还有一整套与标题相关的指令,例如headerValueByName
或optionalHeaderValueByName
。您可以找到详细信息here。