ディスパッチでリクエストを行うと、Promiseを適用して次のようになります。
Left(dispatch.StatusCode: Unexpected response status: 400)
応答の実際のテキストを取得するにはどうすればよいですか?Solrを使用していますが、HTTPリクエストが失敗した場合でも貴重なJSONが返されます。
ディスパッチでリクエストを行うと、Promiseを適用して次のようになります。
Left(dispatch.StatusCode: Unexpected response status: 400)
応答の実際のテキストを取得するにはどうすればよいですか?Solrを使用していますが、HTTPリクエストが失敗した場合でも貴重なJSONが返されます。
次のようなものを書いたようです。
Http(url OK as.String)
これOK
が、ここに表示されている単純なエラー処理を提供するものです。>
結果をより直接的に取得するために使用できます。たとえば、これを書く場合:
Http(url("http://google.com/") OK as.String).either()
次のようになります(少なくとも現時点では)。
Left(dispatch.StatusCode: Unexpected response status: 301)
ただし、次の小さな変更を加えた場合:
Http(url("http://google.com/") > as.String).either()
リダイレクトページの全体が表示されます。
res1: Either[Throwable,String] =
Right(<HTML><HEAD><meta http-equiv="content-type" ...
応答でもっと凝ったことをしたい場合は、独自のasWhatever
ハンドラーを作成できます。たとえば、ヘッダーにマップとしてアクセスする方法のデモンストレーションについては、ここで私の回答を参照してください。