Merge pull request #15954 from Snuffleupagus/getDocument-URL-tweaks

Tweak the internal handling of the `url`-parameter in `getDocument` (PR 13166 follow-up)
This commit is contained in:
Tim van der Meij 2023-01-28 18:18:17 +01:00 committed by GitHub
commit cb5a28ceca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -289,17 +289,23 @@ function getDocument(src) {
switch (key) { switch (key) {
case "url": case "url":
if (typeof window !== "undefined") { if (val instanceof URL) {
params[key] = val.href;
continue;
}
try { try {
// The full path is required in the 'url' field. // The full path is required in the 'url' field.
params[key] = new URL(val, window.location).href; params[key] = new URL(val, window.location).href;
continue; continue;
} catch (ex) { } catch (ex) {
warn(`Cannot create valid URL: "${ex}".`); if (
typeof PDFJSDev !== "undefined" &&
PDFJSDev.test("GENERIC") &&
isNodeJS &&
typeof val === "string"
) {
break; // Use the url as-is in Node.js environments.
} }
} else if (typeof val === "string" || val instanceof URL) {
params[key] = val.toString(); // Support Node.js environments.
continue;
} }
throw new Error( throw new Error(
"Invalid PDF url data: " + "Invalid PDF url data: " +