Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[HttpClient] Fix overriding default options with null #45527

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 24, 2022

Conversation

nicolas-grekas
Copy link
Member

Q A
Branch? 4.4
Bug fix? yes
New feature? no
Deprecations? no
Tickets Fix #45355
License MIT
Doc PR -

@carsonbot carsonbot added this to the 4.4 milestone Feb 23, 2022
@nicolas-grekas nicolas-grekas merged commit d6ba84f into symfony:4.4 Feb 24, 2022
nicolas-grekas added a commit that referenced this pull request Feb 27, 2022
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient] Handle requests with null body

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | /
| License       | MIT
| Doc PR        | /

since #45527 passing null to the `body` parameters leads to an exception (which [breaks async-aws](https://github.com/async-aws/aws/blob/09723ddca29b8d1d522426f81dd422373de1785f/src/Core/src/AbstractApi.php#L157))

> Argument #2 ($body) must be of type Closure, null given, called in /home/runner/work/aws/aws/vendor/symfony/http-client/CurlHttpClient.php on line 221

In curl client: `null` is not a string and `self::readRequestBody` expects a closure.

https://github.com/symfony/symfony/blob/08fa74a16c84895575e305b2a7ee3a03e371f79b/src/Symfony/Component/HttpClient/CurlHttpClient.php#L214-L221

In NativeClient, `getBodyAsString` will fail to return `null` because of the `string` return type.

Before #45527 null was converted to `""` thanks to the defaultOptions, but this is not the case anymore.

In many places, we check if the body is `!== ""` but rarely check if the body is null, this PR restores the original behaviors for the `body` parameters and converts nulls to `""`.

Commits
-------

39aec09 [HttpClient] Handle requests with null body
This was referenced Feb 28, 2022
@nicolas-grekas nicolas-grekas deleted the hc-null branch February 28, 2022 08:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants