Skip to content

Commit

Permalink
Use JSON_THROW_ON_ERROR instead of custom error handling
Browse files Browse the repository at this point in the history
Signed-off-by: Julius Härtl <jus@bitgrid.net>
  • Loading branch information
juliushaertl committed May 30, 2022
1 parent 7140201 commit 3901a93
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 10 deletions.
8 changes: 1 addition & 7 deletions lib/public/AppFramework/Http/JSONResponse.php
Expand Up @@ -64,13 +64,7 @@ public function __construct($data = [], $statusCode = Http::STATUS_OK) {
* @throws \Exception If data could not get encoded
*/
public function render() {
$response = json_encode($this->data, JSON_HEX_TAG);
if ($response === false) {
throw new \Exception(sprintf('Could not json_encode due to invalid ' .
'non UTF-8 characters in the array: %s', var_export($this->data, true)));
}

return $response;
return json_encode($this->data, JSON_HEX_TAG | JSON_THROW_ON_ERROR);
}

/**
Expand Down
6 changes: 3 additions & 3 deletions tests/lib/AppFramework/Http/JSONResponseTest.php
Expand Up @@ -88,10 +88,10 @@ public function testRender(array $input, $expected) {
$this->assertEquals($expected, $this->json->render());
}


public function testRenderWithNonUtf8Encoding() {
$this->expectException(\Exception::class);
$this->expectExceptionMessage('Could not json_encode due to invalid non UTF-8 characters in the array: array (');
$this->expectException(\JsonException::class);
$this->expectExceptionMessage('Malformed UTF-8 characters, possibly incorrectly encoded');

$params = ['test' => hex2bin('e9')];
$this->json->setData($params);
Expand Down

0 comments on commit 3901a93

Please sign in to comment.