Uso básico de Despacho 0.9

Quiero enviar una POST a una URL, establecer parámetros de consulta y encabezados y pasar una cadena en bruto en el cuerpo. Luego quiero hacer la solicitud y obtener la cadena de salida, para poder convertirla a JSON. También quiero que el manejo de excepciones responda a diferentes tipos de errores (y que maneje las redirecciones)

Pero Dispatch 0.9 está mal documentado, rompe la API con versiones documentadas y es muy peculiar, por lo que no puedo encontrar una solución completa. yo soycompletamente atascadoPor eso pido mucho.

Esto es todo lo que puedo hacer, pero establecer los parámetros de consulta es extraño:

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

Pero establecer los parámetros de consulta me da un error difícil:

<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"))

Ayuda para configurar la solicitud completamente: HTTPS, redirecciones, parámetros de consulta, encabezados y el método POST.

También ayuda con (sincrónicamente, así lo deseo) ejecutando la solicitud para obtener el cuerpo (y los encabezados) y bifurcar en función del código de respuesta (200, 301, 302, 400, 500).

Respuestas a la pregunta(2)

Su respuesta a la pregunta