fix: Allow URLs with multiple leading slashes.

Fixes https://github.com/solid/community-server/issues/1025
This commit is contained in:
Ruben Verborgh
2021-10-25 23:38:39 +02:00
parent 2e4589938f
commit b42150cf52
2 changed files with 11 additions and 6 deletions

View File

@@ -45,12 +45,11 @@ export class OriginalUrlExtractor extends TargetExtractor {
}
// URL object applies punycode encoding to domain
const base = `${protocol}://${host}`;
const originalUrl = new URL(toCanonicalUriPath(url), base);
// Drop the query string if requested
if (!this.includeQueryString) {
originalUrl.search = '';
const originalUrl = new URL(`${protocol}://${host}`);
const [ , pathname, search ] = /^([^?]*)(.*)/u.exec(toCanonicalUriPath(url))!;
originalUrl.pathname = pathname;
if (this.includeQueryString && search) {
originalUrl.search = search;
}
return { path: originalUrl.href };