Skip to content

Commit

Permalink
Sync http-client.md
Browse files Browse the repository at this point in the history
  • Loading branch information
amphp-bot committed Feb 24, 2024
1 parent 6398cdd commit 14384d7
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions http-client.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,17 +115,17 @@ $request->setBody("foobar");

#### Request Bodies

`Request::setBody($body)` allows changing the request body. Accepted types are `string`, `null`, and `RequestBody`. `string` and `null` are automatically converted to an instance of `RequestBody`.
`Request::setBody($body)` allows changing the request body. Accepted types are `string`, `null`, and `HttpContent`. `string` and `null` are automatically converted to an instance of `HttpContent`.

{:.note}
> `RequestBody` is basically a factory for request bodies. We cannot simply accept streams here, because a request body might have to be sent again on a redirect / retry. Additionally, `RequestBody` allows the body to set headers, which can be used to automatically set headers such as `Content-Type: application/json` for a `JsonBody`. Note that headers set via `RequestBody::getHeaders()` are only applied if the `Request` doesn't have such a header. This allows overriding the default body header in a request.
> `HttpContent` is basically a factory for request bodies. We cannot simply accept streams here, because a request body might have to be sent again on a redirect / retry.
```php
$request = new Request("https://httpbin.org/post", "POST");
$request->setBody("foobar");
```

`Request::getBody()` exposes the request body of the given `Request` object and will always return a `RequestBody`.
`Request::getBody()` exposes the request body of the given `Request` object and will always return a `HttpContent`.

### Response

Expand Down

0 comments on commit 14384d7

Please sign in to comment.