Skip to content

Commit 6dd804c

Browse files
Adiciona sanitização do parâmetro external-id na URI (#28)
feat: adiciona sanitização do parâmetro external-id na URI
1 parent 1be95d0 commit 6dd804c

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

src/Support/Uri.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ public static function sanitize(string $uri, array $uriMask = []): string
2626
'/\/(?<=\/)([A-Z]{3}-?\d[0-9A-Z]\d{2})(?=\/)?/i',
2727
'/\/(?<=\/)[0-9A-F]{16,24}(?=\/)?/i',
2828
'/\/(?<=\/)\d+(?=\/)?/',
29+
'/\/(?<=\/)R[RN]\d{16}[A-Za-z0-9]{11}/',
2930
],
3031
),
3132
array_merge(
@@ -37,6 +38,7 @@ public static function sanitize(string $uri, array $uriMask = []): string
3738
'/<LICENSE-PLATE>',
3839
'/<OID>',
3940
'/<NUMBER>',
41+
'/<EXTERNAL-ID>',
4042
],
4143
),
4244
'/' . ltrim($uri, '/'),

tests/Cases/UriTest.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,4 +150,15 @@ public function testWithMaskParams(): void
150150
self::assertSame('/v7/test/<SHA256-ID>/<SHA256-ID>/<SHA256-ID>', Uri::sanitize('/v7/test/54cf575c04fdef4667094b6fc4fab8014dd3fa53576b644ec399452c43b5e7f7/54cf575c04fdef4667094b6fc4fab8014dd3fa53576b644ec399452c43b5e7f7/54cf575c04fdef4667094b6fc4fab8014dd3fa53576b644ec399452c43b5e7f7', $uriMask));
151151
self::assertSame('/v8/test/<SHA256-ID>/<SHA256-ID>/<SHA256-ID>/', Uri::sanitize('/v8/test/54cf575c04fdef4667094b6fc4fab8014dd3fa53576b644ec399452c43b5e7f7/54cf575c04fdef4667094b6fc4fab8014dd3fa53576b644ec399452c43b5e7f7/54cf575c04fdef4667094b6fc4fab8014dd3fa53576b644ec399452c43b5e7f7/', $uriMask));
152152
}
153+
154+
public function testClearUriExternalIds(): void
155+
{
156+
self::assertSame('/v1/test', Uri::sanitize('/v1/test'));
157+
self::assertSame('/v1/test/<EXTERNAL-ID>', Uri::sanitize('/v1/test/RR2101818220123720H9KJTERfw1a'));
158+
self::assertSame('/v3/test/<EXTERNAL-ID>/bar', Uri::sanitize('/v3/test/RN2401818220250720G4KJTQyU6Ds/bar'));
159+
self::assertSame('/v4/test/<EXTERNAL-ID>/bar/<EXTERNAL-ID>/', Uri::sanitize('/v4/test/RR2101818220123720H9KJTERfw1a/bar/RN2401818220250720G4KJTQyU6Ds/'));
160+
self::assertSame('/v5/test/<EXTERNAL-ID>/<EXTERNAL-ID>', Uri::sanitize('/v5/test/RR2101818220123720H9KJTERfw1a/RN2401818220250720G4KJTQyU6Ds'));
161+
self::assertSame('/v7/test/<EXTERNAL-ID>/<EXTERNAL-ID>/<EXTERNAL-ID>/', Uri::sanitize('/v7/test/RR2101818220123720H9KJTERfw1a/RN2001818220123720H9KJTERBd52/RR2123818220123730H9KJTERBd52/'));
162+
self::assertSame('/v9/test/<EXTERNAL-ID>/bar/<NUMBER>', Uri::sanitize('/v9/test/RR2101818220123720H9KJTERfw1a/bar/12345'));
163+
}
153164
}

0 commit comments

Comments
 (0)