Skip to content

Commit ab3cfd4

Browse files
fix: only replace user's origin URL
1 parent 08febfa commit ab3cfd4

File tree

1 file changed

+24
-14
lines changed

1 file changed

+24
-14
lines changed

packages/vuepress-plugin-export-pdf-core/src/generatePdf.ts

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,17 @@ export const generatePdf = async ({
5959
process.stdout.write(pc.red(`${urlOrigin} is not a valid URL`));
6060
process.exit(1);
6161
}
62+
let userURLOrigin = "";
63+
if (urlOrigin && isValidUrlOrigin)
64+
userURLOrigin = new URL(urlOrigin).origin;
65+
66+
const localURLOrigin = `${host}:${port}`;
6267

6368
const normalizePages = exportPages.map((page) => {
6469
return {
6570
url: page.path,
6671
title: page.title,
67-
location: urlOrigin ? `${new URL(urlOrigin).origin}${page.path}` : `http://${host}:${port}${page.path}`,
72+
location: urlOrigin ? `${userURLOrigin}${page.path}` : `http://${localURLOrigin}${page.path}`,
6873
pagePath: `${tempPdfDir}/${page.key}.pdf`,
6974
};
7075
});
@@ -85,23 +90,28 @@ export const generatePdf = async ({
8590
// http or https
8691
if (isValidUrl(reqUrl)) {
8792
const parsedUrl = new URL(reqUrl);
88-
parsedUrl.host = host;
89-
parsedUrl.protocol = "http:";
90-
parsedUrl.port = `${port}`;
91-
const parsedUrlString = parsedUrl.toString();
92-
request.continue({
93-
url: parsedUrlString,
94-
headers: Object.assign(
95-
{},
96-
request.headers(),
97-
{
98-
refer: parsedUrlString,
93+
if (userURLOrigin === parsedUrl.origin) {
94+
parsedUrl.host = host;
95+
parsedUrl.protocol = "http:";
96+
parsedUrl.port = `${port}`;
97+
const parsedUrlString = parsedUrl.toString();
98+
request.continue({
99+
url: parsedUrlString,
100+
headers: Object.assign(
101+
{},
102+
request.headers(),
103+
{
104+
refer: parsedUrlString,
99105
// Same origin
100106
// origin: parsedUrl.origin,
101107
// CORS
102108
// host: parsedUrl.host,
103-
}),
104-
});
109+
}),
110+
});
111+
}
112+
else {
113+
request.continue();
114+
}
105115
}
106116
else {
107117
request.continue();

0 commit comments

Comments
 (0)