Спрей не устанавливает заголовок Content-Type для FormData

Предполагается, что FormData автоматически устанавливает заголовок Content-Type, но он не работает. Поэтому я попытался установить его вручную, но получил предупреждение.

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!

В любом случае ответ, который я получаю от сервера, — это ответ, который я получаю, когда не устанавливаю заголовок Content-Type.

Правильно ли я построил трубопровод и HttpEntity? Должен ли я использовать маршаллер для FormData?


person kliew    schedule 14.04.2016    source источник


Ответы (1)


Я правильно установил HttpRequest, но сервер не принимает запросы в кодировке gzip. Мне просто нужно было удалить кодировку gzip из конвейера.

person kliew    schedule 16.04.2016