2013-02-18 9 views
7

Kiedy złożyć wniosek w wysyłce, mogę ubiegać się o przyrzeczenie i uzyskać w ten sposób:Jak uzyskać wartość nieudanego żądania w Wysyłce?

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

Jak uzyskać rzeczywisty tekst odpowiedzi? Używam Solr i nadal zwraca cenny JSON z nieudanymi żądaniami HTTP.

Odpowiedz

10

Wygląda jakbyś napisał coś jak następuje:

Http(url OK as.String) 

OK jest co zapewniając prostą obsługę widać tu błąd. Możesz użyć numeru >, aby uzyskać bardziej bezpośrednie wyniki. Na przykład, jeśli piszesz tak:

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

Dostaniesz następujące (w tej chwili, przynajmniej):

Ale jeśli się następujące zmiany: mały

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

uzyskać pełną treści strony przekierowania:

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

Jeśli chcesz zrobić coś ciekawszego z odpowiedzią, możesz napisać własną instrukcję obsługi asWhatever - zobacz moją odpowiedź here, aby pokazać, jak uzyskać dostęp do nagłówków jako mapy, na przykład.

+0

Czy wiesz, gdzie dokumentacja jest przechowywana na stronie internetowej? Nie miałbym nic przeciwko dodawaniu i dodawaniu takich drobnych przypadków. – crockpotveggies

+1

Odpowiedziałem na moje własne pytanie: https://github.com/dispatch/reboot/tree/master/docs – crockpotveggies

Powiązane problemy