guzzle-services icon indicating copy to clipboard operation
guzzle-services copied to clipboard

Raw request body data

Open timwhitlock opened this issue 6 years ago • 3 comments

Hi.

I notice that the BodyLocation for "body" parameters adds the name of the bound parameter to the request body. e.g. [ 'raw' => 'data' ] gets posted as an 8 byte string in the request: raw=data.

Is this deliberate? I assumed that value pairs would be handled by FormParamLocation and that the "body" location would be for raw/binary data.

I'm looking to post data as the body as if I had used --data-binary from command line cURL. For example:

> POST /something.txt HTTP/1.1
> Content-Type: text/plain
> Content-Length: 18
> 
> This is plain text

Looking at the Serializer it seems I can do this for xml and json locations, but not arbitrary data.

Thanks in advance for clarification on this.

timwhitlock avatar Mar 19 '18 19:03 timwhitlock

If anyone's interested, I got around this problem with my own BodyLocation class.

This can be set by overriding the request serializer and passing it thus.

timwhitlock avatar Apr 16 '18 12:04 timwhitlock

If anyone's interested, I got around this problem with my own BodyLocation class.

This can be set by overriding the request serializer and passing it thus.

this is of great help~, thanks.

yaozongyou avatar Jul 20 '19 13:07 yaozongyou

The same question occurs to me, is this will be fixed?

yaozongyou avatar Jul 20 '19 13:07 yaozongyou