0

私のアプリには、すべてのリダイレクト (正気を保つために最大 50 としましょう) に従う必要がある特定のパイプラインがあります (例: http://somewhere.comからhttps://somewhere.else. com )、ただし GET リクエストのみ。私のアプリの他のパイプラインはこれを行うべきではありません。

現在の外観は次のとおりです。

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

ホストに依存しない方法でパイプラインの構成内でこれを指定するにはどうすればよいですか (つまり、構成オプションまたはを使用しないでHostConnectorSetupください)。

4

1 に答える 1

1

オーダーメイドの動作で特定のパイプラインを作成できるとは思いません。

と呼ばれるリダイレクトのカウンターは、 と呼ばれるプライベート オブジェクト内のRequestContextmaxRetriesに格納されます。そして、この情報はHostConnectorSettingsからのみ取得されますHttpHostConnector

そのため、カスタム動作を追加するために更新を追加することを考えましたが、 HttpオブジェクトHostConnectorSettingsで定義されているのではないかと心配しています。したがって、この設定を更新するオプションはありません。それらは構成オプションで定義されます。そして、あなたが別のオプションを探していると言ったように、これは問題を解決しません。

最後に、GET リクエストのみの動作を変更することもできないと思います。ここでは、 RFC2616に従うことがどのように機能するかを確認できます。

TLDR: すべてのパイプラインは、構成に応じてリダイレクトに従うかどうかを判断しますが、どのパイプラインが行うか行わないかを区別することはできません。

于 2016-05-11T11:06:47.123 に答える