0
使用最新的akka-http我想實現一個端點,它將重定向所有傳入的上載文件請求而不消耗請求實體。如何忽略請求正文和使用akka-http重定向請求
當前實現使用:
put {
extractRequest { r: HttpRequest =>
onComplete(r.discardEntityBytes().future) { done =>
redirect(Uri("http://example.com"), TemporaryRedirect)
}
}
}
的問題是,它等待,直到整個HTTP請求正文被接收(丟棄),只有後發送重定向應答。從客戶端角度來看,它意味着兩次上傳文件。我試圖將withSizeLimit(0)
添加到請求實體,但它引入了早期響應問題。
相關文檔:
- http://doc.akka.io/docs/akka/2.4.11/scala/http/implications-of-streaming-http-entity.html
- http://doc.akka.io/docs/akka/2.4.11/scala/http/routing-dsl/directives/route-directives/redirect.html#description
你們是不是要確保實體不被轉發還是你只是擔心實體尺寸是多少? –
我想以某種方式避免從客戶端發送大實體2次,如果它被忽略。 – Nikolay