Fix search params decoding

This commit is contained in:
mrkishi
2018-10-24 21:19:03 -03:00
parent ffd56e2a20
commit c4aee66c32

View File

@@ -90,8 +90,8 @@ export function select_route(url: URL): Target {
const query: Record<string, string | true> = {}; const query: Record<string, string | true> = {};
if (url.search.length > 0) { if (url.search.length > 0) {
url.search.slice(1).split('&').forEach(searchParam => { url.search.slice(1).split('&').forEach(searchParam => {
const [, key, value] = /([^=]+)(?:=(.*))?/.exec(searchParam); const [, key, value] = /([^=]*)(?:=(.*))?/.exec(searchParam);
query[key] = decodeURIComponent((value || '').replace(/\+/g, ' ')); query[decodeURIComponent(key)] = decodeURIComponent((value || '').replace(/\+/g, ' '));
}); });
} }
return { url, path, page, match, query }; return { url, path, page, match, query };