最新のakka-httpを使用リクエストエンティティを消費せずに、すべての着信アップロードファイルリクエストをリダイレクトするエンドポイントを実装します。リクエストボディを無視してリクエストをリダイレクトする方法akka-httpを使用して
現在の実装では、使用している:
put {
extractRequest { r: HttpRequest =>
onComplete(r.discardEntityBytes().future) { done =>
redirect(Uri("http://example.com"), TemporaryRedirect)
}
}
}
問題は、それが全体のHTTPリクエストボディを受信するまで待機する(廃棄)とだけその後応答をリダイレクト送信することです。クライアントの観点からは、ファイルを2回アップロードすることを意味します。リクエストエンティティに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