2016-04-14 1 views
1

FormData est censé définir automatiquement l'en-tête Content-Type mais cela ne fonctionne pas. J'ai donc essayé de le régler manuellement mais j'ai un avertissement.La pulvérisation ne définit pas l'en-tête Content-Type pour FormData

val gzipPipeline: HttpRequest => Future[HttpResponse] = encode(Gzip) ~> sendReceive ~> decode(Gzip) 

val request = 
     (Post(uri, 
     FormData(Map(
      "set_login" -> credentials.username, 
      "set_pass" -> credentials.password)) 
    ) ~> addHeader(`Content-Type`(`application/x-www-form-urlencoded`)) 
     ~> addHeader(`Accept-Encoding`(gzip))) 

[WARN] [04/14/2016 02:09:50.803] [forPipeline-akka..default-dispatcher-8] [akka://forPipeline/user/IO-HTTP/group-0/0] Explicitly set request header 'Content-Type: application/x-www-form-urlencoded' is ignored, the request Content-Type is set via the request's HttpEntity! 

Dans les deux cas, la réponse que je reçois du serveur est la réponse que je reçois quand je ne mets pas l'en-tête Content-Type. Est-ce que j'ai construit le pipeline et HttpEntity correctement? Suis-je censé utiliser un marshaller pour FormData?

Répondre

0

J'ai défini le HttpRequest correctement, mais le serveur n'accepte pas les requêtes codées en gzip. Je devais juste supprimer l'encodage gzip du pipeline.