From a0e7bf4c0d7ecd91182c8053518e453f9d65761b Mon Sep 17 00:00:00 2001 From: Bastien Picharles Date: Mon, 25 Jan 2021 16:32:43 +0100 Subject: [PATCH] fix redis messenger options with dsn --- .../Tests/Transport/RedisExt/ConnectionTest.php | 13 +++++++++++++ .../Messenger/Transport/RedisExt/Connection.php | 3 ++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Component/Messenger/Tests/Transport/RedisExt/ConnectionTest.php b/src/Symfony/Component/Messenger/Tests/Transport/RedisExt/ConnectionTest.php index f73db2b642591..66a53f790f50d 100644 --- a/src/Symfony/Component/Messenger/Tests/Transport/RedisExt/ConnectionTest.php +++ b/src/Symfony/Component/Messenger/Tests/Transport/RedisExt/ConnectionTest.php @@ -85,6 +85,19 @@ public function testFromDsnWithQueryOptions() ); } + public function testFromDsnWithMixDsnQueryOptions() + { + $this->assertEquals( + Connection::fromDsn('redis://localhost/queue/group1?serializer=2', ['consumer' => 'specific-consumer']), + Connection::fromDsn('redis://localhost/queue/group1/specific-consumer?serializer=2') + ); + + $this->assertEquals( + Connection::fromDsn('redis://localhost/queue/group1/consumer1', ['consumer' => 'specific-consumer']), + Connection::fromDsn('redis://localhost/queue/group1/consumer1') + ); + } + public function testKeepGettingPendingMessages() { $redis = $this->getMockBuilder(\Redis::class)->disableOriginalConstructor()->getMock(); diff --git a/src/Symfony/Component/Messenger/Transport/RedisExt/Connection.php b/src/Symfony/Component/Messenger/Transport/RedisExt/Connection.php index 560200714ff21..9919ffffda2f3 100644 --- a/src/Symfony/Component/Messenger/Transport/RedisExt/Connection.php +++ b/src/Symfony/Component/Messenger/Transport/RedisExt/Connection.php @@ -101,7 +101,8 @@ public static function fromDsn(string $dsn, array $redisOptions = [], \Redis $re ]; if (isset($parsedUrl['query'])) { - parse_str($parsedUrl['query'], $redisOptions); + parse_str($parsedUrl['query'], $dsnOptions); + $redisOptions = array_merge($redisOptions, $dsnOptions); } $autoSetup = null; pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy