如何使用spray RestAPI从服务器端获取http请求标头信息

Jan*_*ana 4 scala spray spray-test

我是Scala和Spray的新手.我根据本博文中给出的说明编写了一个简单的REST API. http://www.smartjava.org/content/first-steps-rest-spray-and-scala

所有人都按预期工作.

现在我想修改程序来打印HTTP头文件,如编码,语言,远程地址等.我想打印所有的头信息(目的是记录这些信息)

但我找不到合适的文档或示例.谁能帮助我完成这件事.

Gab*_*lla 7

如果需要提取特定标题:

optionalHeaderValueByName("Encoding") { encodingHeader =>
  println(encodingHeader)
  complete("hello")
}
Run Code Online (Sandbox Code Playgroud)

或者,您可以访问原始请求对象并直接提取标头.这是一个记录所有标头的自定义指令:

def logHeaders(): Directive0 = extract(_.request.headers).map(println)
Run Code Online (Sandbox Code Playgroud)

用法

logHeaders() {
  complete("hello")
}
Run Code Online (Sandbox Code Playgroud)