Поврежденное тело запроса MultPartForm при выполнении запроса к S3 - PullRequest
0 голосов
/ 04 апреля 2020

Я застрял при отправке запроса формы из нескольких частей через HTTP-клиент Play на AWS S3. По какой-то причине я получаю поврежденное тело, как показано ниже. Вы можете видеть, что в теле запроса есть другие символы, например, e4, 77 et c ....

POST / HTTP/1.1
Content-Type: multipart/form-data; boundary=7hegMdlPdsVJ5-ijbr
Transfer-Encoding: chunked
Host: localhost:8000
Accept: */*
User-Agent: AHC/2.0

e4
--7hegMdlPdsVJ5-ijbr
Content-Disposition: form-data; name="x-amz-meta-callback-url"
Content-Type: text/plain

http://localhost:7021/cgt-property-disposals/upscan-call-back/draft-return-id/dc9013d5-fad0-41f0-8174-38fb55aec01a
77
..

--7hegMdlPdsVJ5-ijbr
Content-Disposition: form-data; name="x-amz-credential"
Content-Type: text/plain

ASIAxxxxxxxxx/20180202/eu-west-2/s3/aws4_request
7c


--7hegMdlPdsVJ5-ijbr
Content-Disposition: form-data; name="acl"
Content-Type: text/plain

private
70

--7hegMdlPdsVJ5-ijbr
Content-Disposition: form-data; name="x-amz-signature"
Content-Type: text/plain

xxxx
98

...

--7hegMdlPdsVJ5-ijbr
Content-Disposition: form-data; name="file"; filename="test.txt"
Content-Type: text/plain


f
some nice data

18

--7hegMdlPdsVJ5-ijbr--
0


Мой запрос выглядит следующим образом:

    val parts: Source[MultipartFormData.Part[Source[ByteString, _]], _] = Source.apply(form.dataParts.flatMap {
      case (key, values) =>
        values.map(value => MultipartFormData.DataPart(key, value): MultipartFormData.Part[Source[ByteString, _]])
    } ++ form.files)


      wsClient
        .url("http://localhost:8000")
        .post(parts)


Что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...