[Messenger] Added check if json_encode succeeded
This commit is contained in:
parent
f3d8fd2521
commit
c2bdc4c4d3
@ -177,6 +177,17 @@ class ConnectionTest extends TestCase
|
|||||||
$redis->del('messenger-getnonblocking');
|
$redis->del('messenger-getnonblocking');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testJsonError()
|
||||||
|
{
|
||||||
|
$redis = new \Redis();
|
||||||
|
$connection = Connection::fromDsn('redis://localhost/json-error', [], $redis);
|
||||||
|
try {
|
||||||
|
$connection->add("\xB1\x31", []);
|
||||||
|
} catch (TransportException $e) {
|
||||||
|
}
|
||||||
|
$this->assertSame('Malformed UTF-8 characters, possibly incorrectly encoded', $e->getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
public function testLastErrorGetsCleared()
|
public function testLastErrorGetsCleared()
|
||||||
{
|
{
|
||||||
$redis = $this->getMockBuilder(\Redis::class)->disableOriginalConstructor()->getMock();
|
$redis = $this->getMockBuilder(\Redis::class)->disableOriginalConstructor()->getMock();
|
||||||
|
@ -185,9 +185,16 @@ class Connection
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$added = $this->connection->xadd($this->stream, '*', ['message' => json_encode(
|
$message = json_encode([
|
||||||
['body' => $body, 'headers' => $headers]
|
'body' => $body,
|
||||||
)]);
|
'headers' => $headers,
|
||||||
|
]);
|
||||||
|
|
||||||
|
if (false === $message) {
|
||||||
|
throw new TransportException(json_last_error_msg());
|
||||||
|
}
|
||||||
|
|
||||||
|
$added = $this->connection->xadd($this->stream, '*', ['message' => $message]);
|
||||||
} catch (\RedisException $e) {
|
} catch (\RedisException $e) {
|
||||||
throw new TransportException($e->getMessage(), 0, $e);
|
throw new TransportException($e->getMessage(), 0, $e);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user