diff --git a/index.js b/index.js index aa2daa3..a2cd183 100644 --- a/index.js +++ b/index.js @@ -273,7 +273,7 @@ function parse (uri, opts) { parsed.host = unescape(parsed.host) } if (parsed.path !== undefined && parsed.path.length) { - parsed.path = encodeURI(parsed.path) + parsed.path = escape(unescape(parsed.path)) } if (parsed.fragment !== undefined && parsed.fragment.length) { parsed.fragment = encodeURI(decodeURI(parsed.fragment)) diff --git a/test/compatibility.test.js b/test/compatibility.test.js index 73bc65a..5c5edc4 100644 --- a/test/compatibility.test.js +++ b/test/compatibility.test.js @@ -9,6 +9,7 @@ test('compatibility Parse', (t) => { const toParse = [ '//www.g.com/error\n/bleh/bleh', 'https://fastify.org', + '/definitions/Record%3Cstring%2CPerson%3E', '//10.10.10.10', '//10.10.000.10', '//[2001:db8::7%en0]',