Podstawowe użycie Dispatch 0.9

Chcę POST na adres URL, ustawiając parametry zapytania i nagłówki oraz przekazując surowy ciąg w treści. Następnie chcę wykonać żądanie i uzyskać ciąg wyjściowy, dzięki czemu mogę przekonwertować go na JSON. Chcę także, aby obsługa wyjątków odpowiadała na różnego rodzaju błędy (i obsługiwała przekierowania)

Ale Dispatch 0.9 jest źle udokumentowany, łamie API z udokumentowanymi wersjami i jest bardzo dziwaczny, więc nie mogę wymyślić kompletnego rozwiązania. jestemcałkowicie utknął, dlatego proszę o wiele.

To wszystko, co mogę wymyślić, ale ustawienie params zapytania jest dziwne:

val solr = host("localhost", 8983)
val req  = solr / "update" / "json" 
    setQueryParameters( Map( "commit" -> "true")) 
    setHeader( "Content-type", "application/json")
    setBody( a)

Ale ustawienie parametrów zapytania powoduje trudny błąd:

<console>:14: error: type mismatch;
 found   : scala.collection.immutable.Map[java.lang.String,java.lang.String]
 required: com.ning.http.client.FluentStringsMap
       val req  = solr / "update" / "json"  setQueryParameters( Map( "commit" -> "true"))

Proszę o pomoc w ustawieniu żądania całkowicie: HTTPS, przekierowania, parametry zapytania, nagłówki i metoda POST.

Pomóż także (synchronicznie, chcę to w ten sposób) wykonać żądanie pobrania treści (i nagłówków) i rozgałęzienia w zależności od kodu odpowiedzi (200, 301, 302, 400, 500).

questionAnswers(2)

yourAnswerToTheQuestion