@@ -91,7 +91,7 @@ const getOrigin = (origin, referer) => {
91
91
if ( subOrigin ) {
92
92
origin = decodeURIComponent ( subOrigin [ 1 ] )
93
93
}
94
- return origin
94
+ return origin || referer
95
95
}
96
96
97
97
const requestHeaders = headers => {
@@ -100,11 +100,11 @@ const requestHeaders = headers => {
100
100
referer,
101
101
origin,
102
102
'x-requested-with' : requestedWith ,
103
- ...filteringHeaders
103
+ ...filterableHeaderss
104
104
} = headers
105
105
106
- const filteredHeaders = Object . keys ( filteringHeaders ) . reduce ( ( obj , key ) => {
107
- obj [ key ] = filterValue ( filteringHeaders [ key ] )
106
+ const filteredHeaders = Object . keys ( filterableHeaderss ) . reduce ( ( obj , key ) => {
107
+ obj [ key ] = filterValue ( filterableHeaderss [ key ] )
108
108
return obj
109
109
} , { } )
110
110
@@ -113,6 +113,7 @@ const requestHeaders = headers => {
113
113
'x-forwarded-origin' : getOrigin ( origin , referer ) ,
114
114
'x-forwarded-referer' : referer
115
115
}
116
+
116
117
const modifiedHeaders = { ...filteredHeaders , ...defaultHeaders }
117
118
// console.log('requestHeaders, modifiedHeaders', modifiedHeaders)
118
119
return modifiedHeaders
@@ -164,9 +165,17 @@ const processRequest = (res, origin, url, options) => {
164
165
// console.log('options', options)
165
166
return fetch ( url , options )
166
167
. then ( response => {
167
- // console.log('processRequest, response.status ', response.status )
168
+ // console.log('processRequest, response', response)
168
169
if ( response . status > 299 ) {
169
- return send ( res , response . status || 500 , response )
170
+ // console.log('processRequest, response.statusText', response.statusText)
171
+ const errorResponse = {
172
+ ...response ,
173
+ url : url ,
174
+ options : JSON . stringify ( options ) ,
175
+ status : response . status ,
176
+ statusText : response . statusText
177
+ }
178
+ return send ( res , response . status || 500 , errorResponse )
170
179
} else {
171
180
return json ( response )
172
181
. then ( data => {
@@ -225,9 +234,8 @@ const handleProxy = async (req, res) => {
225
234
226
235
// console.log('proxyPrefix', proxyPrefix)
227
236
const destinationURL = decodeURIComponent (
228
- path . replace ( `/${ proxyPrefix } /` , '' )
237
+ decodeURIComponent ( path . replace ( `/${ proxyPrefix } /` , '' ) )
229
238
)
230
- // console.log('destinationURL', destinationURL)
231
239
232
240
if ( ! isAuthorized ( destinationURL , destinationWhiteList ) ) {
233
241
return notAuthorized ( req , res )
0 commit comments