2016-04-14 8 views
0

すべてのリダイレクト(正気であれば50まで)、特定のドメインとプロトコル(たとえば、http://somewhere.comhttps://somewhere.else.comの後ろに続く可能性があります)を通過する必要のある特定のパイプラインがアプリケーションにありますが、GETリクエストの場合のみです。私のアプリの他のパイプラインはこれを行うべきではありません。すべてのリダイレクトを特定のスプレークライアントに要求する方法を教えてください。

は、ここでそれが今のようになります。

val pipeline = sendReceive ~> decode(Gzip) ~> decode(Deflate) ~> unmarshal[String] 

どのように私は(すなわちない設定オプションまたはHostConnectorSetup経由)ホストに依存しない方法で、パイプラインの設定内にこれを指定することができますか?

答えて

1

個別の動作で特定のパイプラインを作成することはできません。

maxRetriesと呼ばれるリダイレクトカウンタはRequestContextのプライベートオブジェクトHttpHostConnectorに格納されます。 そして、この情報だけだから私は、カスタム動作を追加するために更新HostConnectorSettingsを追加することを考えたが、私はそれがHttpオブジェクトで定義されて怖いですHostConnectorSettings

から来ています。したがって、この設定を更新するオプションはありません。これらは設定オプションで定義されています。そしてあなたが別のオプションを探していると言ったように、これは問題を解決しません。

最後に、私はGETリクエストの動作だけを変更することはできないと思います。 HereあなたはそれがどのようにRFC2616に従うのが見えるか見ることができます。

TLDR:構成によっては、すべてのパイプラインがリダイレクトに従うかどうかは判別できませんが、どのパイプラインがリダイレクトを行うかは区別できません。

関連する問題