From 0df0b18624d723f12d95a7c436630481fefa92ac Mon Sep 17 00:00:00 2001 From: "fernando.correia" Date: Fri, 26 Apr 2024 10:38:34 -0300 Subject: [PATCH] fix: regex to catch OID between 16 to 24 caracteres --- src/Support/Uri.php | 2 +- tests/UriTest.php | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Support/Uri.php b/src/Support/Uri.php index 8269458..4dad04e 100644 --- a/src/Support/Uri.php +++ b/src/Support/Uri.php @@ -19,7 +19,7 @@ public static function sanitize(string $uri): string [ '/\/(?<=\/)([A-F0-9]{8}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{12})(?=\/)?/i', '/\/(?<=\/)([A-Z]{3}-?\d[0-9A-Z]\d{2})(?=\/)?/i', - '/\/(?<=\/)[0-9A-F]{24}(?=\/)?/i', + '/\/(?<=\/)[0-9A-F]{16,24}(?=\/)?/i', '/\/(?<=\/)\d+(?=\/)?/', ], [ diff --git a/tests/UriTest.php b/tests/UriTest.php index d4da1ce..1031404 100644 --- a/tests/UriTest.php +++ b/tests/UriTest.php @@ -68,6 +68,7 @@ public function testClearUriUuids(): void public function testClearUriOids(): void { $oid = '650229807612bba4984d1fc7'; + $oidShort = '65022612bba84d1f'; self::assertSame('/v1/test', Uri::sanitize('/v1/test')); self::assertSame('/v2/test/', Uri::sanitize("/v2/test/{$oid}")); @@ -77,5 +78,6 @@ public function testClearUriOids(): void self::assertSame('/v6/test///', Uri::sanitize("/v6/test/{$oid}/{$oid}/")); self::assertSame('/v7/test///', Uri::sanitize("/v7/test/{$oid}/{$oid}/{$oid}")); self::assertSame('/v8/test////', Uri::sanitize("/v8/test/{$oid}/{$oid}/{$oid}/")); + self::assertSame('/v9/test//bar/', Uri::sanitize("/v9/test/{$oidShort}/bar/12345")); } }