From b35ec5e777046e687e476624b8a19bab2e31fdb7 Mon Sep 17 00:00:00 2001 From: Enrico Zimuel Date: Wed, 19 Apr 2023 12:59:37 +0200 Subject: [PATCH] Changed the settings of ELASTIC_CLIENT_URL_PLUS_AS_SPACE --- src/Elasticsearch/Utility.php | 7 ++--- tests/Elasticsearch/Tests/UtilityTest.php | 33 ++++++++++++++++++----- 2 files changed, 31 insertions(+), 9 deletions(-) diff --git a/src/Elasticsearch/Utility.php b/src/Elasticsearch/Utility.php index 5227c5d03..da836b7c4 100644 --- a/src/Elasticsearch/Utility.php +++ b/src/Elasticsearch/Utility.php @@ -40,8 +40,9 @@ public static function getEnv(string $env) */ public static function urlencode(string $url): string { - return self::getEnv(self::ENV_URL_PLUS_AS_SPACE) === 'true' - ? rawurlencode($url) - : urlencode($url); + $plusAsSpace = self::getEnv(self::ENV_URL_PLUS_AS_SPACE); + return $plusAsSpace === false || $plusAsSpace === 'true' + ? urlencode($url) + : rawurlencode($url); } } diff --git a/tests/Elasticsearch/Tests/UtilityTest.php b/tests/Elasticsearch/Tests/UtilityTest.php index ec31121ec..e05ea89be 100644 --- a/tests/Elasticsearch/Tests/UtilityTest.php +++ b/tests/Elasticsearch/Tests/UtilityTest.php @@ -48,30 +48,51 @@ public function testGetEnvWithPutEnv() $this->assertEquals('true', Utility::getEnv(Utility::ENV_URL_PLUS_AS_SPACE)); } - public function testUrlencodeWithDefault() + public function testUrlWithPlusAsDefault() { $url = Utility::urlencode('bar baz'); $this->assertEquals('bar+baz', $url); } - public function testUrlencodeWithDollarServer() + public function testUrlWithPlusWithDollarServer() { $_SERVER[Utility::ENV_URL_PLUS_AS_SPACE] = 'true'; $url = Utility::urlencode('bar baz'); - $this->assertEquals('bar%20baz', $url); + $this->assertEquals('bar+baz', $url); } - public function testUrlencodeWithDollarEnv() + public function testUrlWithPlusWithDollarEnv() { $_ENV[Utility::ENV_URL_PLUS_AS_SPACE] = 'true'; $url = Utility::urlencode('bar baz'); - $this->assertEquals('bar%20baz', $url); + $this->assertEquals('bar+baz', $url); } - public function testUrlencodeWithPutEnv() + public function testUrlWithPlusWithPutEnv() { putenv(Utility::ENV_URL_PLUS_AS_SPACE . '=true'); $url = Utility::urlencode('bar baz'); + $this->assertEquals('bar+baz', $url); + } + + public function testUrlWith2BWithDollarServer() + { + $_SERVER[Utility::ENV_URL_PLUS_AS_SPACE] = 'false'; + $url = Utility::urlencode('bar baz'); + $this->assertEquals('bar%20baz', $url); + } + + public function testUrlWith2BWithDollarEnv() + { + $_ENV[Utility::ENV_URL_PLUS_AS_SPACE] = 'false'; + $url = Utility::urlencode('bar baz'); + $this->assertEquals('bar%20baz', $url); + } + + public function testUrlWith2BWithPutEnv() + { + putenv(Utility::ENV_URL_PLUS_AS_SPACE . '=false'); + $url = Utility::urlencode('bar baz'); $this->assertEquals('bar%20baz', $url); } }