@@ -59,12 +59,17 @@ export const generatePdf = async ({
59
59
process . stdout . write ( pc . red ( `${ urlOrigin } is not a valid URL` ) ) ;
60
60
process . exit ( 1 ) ;
61
61
}
62
+ let userURLOrigin = "" ;
63
+ if ( urlOrigin && isValidUrlOrigin )
64
+ userURLOrigin = new URL ( urlOrigin ) . origin ;
65
+
66
+ const localURLOrigin = `${ host } :${ port } ` ;
62
67
63
68
const normalizePages = exportPages . map ( ( page ) => {
64
69
return {
65
70
url : page . path ,
66
71
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 } ` ,
68
73
pagePath : `${ tempPdfDir } /${ page . key } .pdf` ,
69
74
} ;
70
75
} ) ;
@@ -85,23 +90,28 @@ export const generatePdf = async ({
85
90
// http or https
86
91
if ( isValidUrl ( reqUrl ) ) {
87
92
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 ,
99
105
// Same origin
100
106
// origin: parsedUrl.origin,
101
107
// CORS
102
108
// host: parsedUrl.host,
103
- } ) ,
104
- } ) ;
109
+ } ) ,
110
+ } ) ;
111
+ }
112
+ else {
113
+ request . continue ( ) ;
114
+ }
105
115
}
106
116
else {
107
117
request . continue ( ) ;
0 commit comments