diff --git a/Makefile b/Makefile index 18b4b58..b4655e7 100644 --- a/Makefile +++ b/Makefile @@ -11,5 +11,5 @@ update: @docker-compose run --rm hyperf-opentelemetry -c "composer update" test: - @docker-compose run --rm hyperf-opentelemetry sh -c "composer test" + @docker-compose run --rm hyperf-opentelemetry -c "composer test" diff --git a/src/Support/Uri.php b/src/Support/Uri.php index 1e09782..2299de2 100644 --- a/src/Support/Uri.php +++ b/src/Support/Uri.php @@ -8,7 +8,7 @@ class Uri { public static function sanitize(string $uri, array $uriMask = []): string { - $uuid = '/\/(?<=\/)([0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})(?=\/|$)/i'; + $uuid = '/\/(?<=\/)([0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12})(?=\/|$)/i'; $defaultPatterns = [ $uuid => '/{uuid}', diff --git a/tests/Unit/Support/UriTest.php b/tests/Unit/Support/UriTest.php index cb2f234..adef451 100644 --- a/tests/Unit/Support/UriTest.php +++ b/tests/Unit/Support/UriTest.php @@ -101,4 +101,40 @@ public function testSanitizeEmptyUri() $result = Uri::sanitize($uri); $this->assertSame('/', $result); } + + public function testSanitizeUuidV1ToV4() + { + $uri = '/5c4f7ab3-7849-4422-a262-cd1bfc5ae7ae/'; + $result = Uri::sanitize($uri); + $this->assertStringContainsString('/{uuid}', $result); + } + + public function testSanitizeUuidV1ToV5() + { + $uri = '/123e4567-e89b-12d3-a456-426614174000/'; + $result = Uri::sanitize($uri); + $this->assertStringContainsString('/{uuid}', $result); + } + + public function testSanitizeUuidV6() + { + $uri = '/01000000-9f9e-6094-2a9d-08ddf52351e2/'; + $result = Uri::sanitize($uri); + $this->assertStringContainsString('/{uuid}', $result); + } + + public function testSanitizeUuidV7() + { + $uri = '/01890f28-54c2-7d11-bc99-9bb9d1a9e9af/'; + $result = Uri::sanitize($uri); + $this->assertStringContainsString('/{uuid}', $result); + } + + public function testSanitizeUuidV8() + { + $uri = '/ffffffff-ffff-8fff-9fff-ffffffffffff/'; + $result = Uri::sanitize($uri); + $this->assertStringContainsString('/{uuid}', $result); + } + }