如果max-redirects>,则会丢失位置标头。 1

时间:2014-12-31 00:37:52

标签: scala redirect spray spray-client

我有以下设置:

    val req = HttpRequest(HttpMethods.GET, Uri("http://www.example.com/blah"))
    val response: Future[HttpResponse] = (IO(Http) ? req).mapTo[HttpResponse]
    response.map(
     resp => {
       resp.headers.foreach(h => println(h))
     }
    )

以及以下配置:spray.can.host-connector.max-redirects = 2。我知道这个URL重定向,但是当我检查响应头时,我没有看到Location头告诉我它重定向到哪里。

如果我将配置更改为spray.can.host-connector.max-redirects = 1位置标题就在那里并且正确无误。但是,如果将来有人决定在同一个应用程序中需要更多错误,我希望不要破坏它。我是否会错过喷雾配置?

1 个答案:

答案 0 :(得分:0)

显然我误解了Location标头。它带有重定向响应,因此当我设置max-redirect> 0,我有一个重定向我得到已经重定向的最新响应,它没有Location头。 Spray的HttpResponse没有与生成它的立即请求相关联,因此无法确定此响应所来自的URL是什么。我的解决方案是进行手动重定向。