bug #37065 [HttpClient] Throw JsonException instead of TransportException on empty response in Response::toArray() (jeroennoten)

This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient] Throw JsonException instead of TransportException on empty response in Response::toArray()

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #37064
| License       | MIT

Commits
-------

69547d9cfc [HttpClient] Throw JsonException instead of TransportException on empty response in Response::toArray()
This commit is contained in:
Fabien Potencier 2020-06-03 10:00:49 +02:00
commit fe61dd5c19
2 changed files with 7 additions and 1 deletions

View File

@ -137,7 +137,7 @@ trait ResponseTrait
public function toArray(bool $throw = true): array
{
if ('' === $content = $this->getContent($throw)) {
throw new TransportException('Response body is empty.');
throw new JsonException('Response body is empty.');
}
if (null !== $this->jsonData) {

View File

@ -35,6 +35,12 @@ class MockResponseTest extends TestCase
public function toArrayErrors()
{
yield [
'content' => '',
'responseHeaders' => [],
'message' => 'Response body is empty.',
];
yield [
'content' => '{}',
'responseHeaders' => ['content-type' => 'plain/text'],