2013-02-18 7 views
7

私は派遣で要求を行うとき、私は約束を適用し、これを取得する:ディスパッチで失敗したリクエストの値を取得するにはどうすればよいですか?

Left(dispatch.StatusCode: Unexpected response status: 400) 

がどのように応答の実際のテキストを得るのですか?私はSolrを使用していますが、依然としてHTTP要求が失敗した貴重なJSONを返します。あなたは、次のような何か書かれているように見えます

答えて

10

Http(url OK as.String) 

OKあなたはここを参照してくださいハンドリング簡単なエラーを提供しているものです。 >を使用すると、より直接的な結果を得ることができます。たとえば、あなたはこれを書いた場合:

Http(url("http://google.com/") OK as.String).either() 

はあなたが買ってあげる、以下の(瞬間、少なくとも時):

しかし、あなたは以下の小さな変更加える場合:

Http(url("http://google.com/") > as.String).either() 

あなたはリダイレクトページの完全な体を得る:

res1: Either[Throwable,String] = 
Right(<HTML><HEAD><meta http-equiv="content-type" ... 

レスポンスにもっと欲しい方は、asWhateverハンドラを書くことができます。たとえば、ヘッダーにマップとしてアクセスする方法のデモンストレーションについては、私の答えhereを参照してください。

+0

データバインダーのWebサイトのドキュメントはどこで管理されていますか?私はこのような小さなユースケースで貢献して追加しても構いません。 – crockpotveggies

+1

私自身の質問に回答しました:https://github.com/dispatch/reboot/tree/master/docs – crockpotveggies

関連する問題