19 lines
494 B
JavaScript
19 lines
494 B
JavaScript
|
const httpsRE = /^https:\/\//
|
||
|
export function createProxy(list = []) {
|
||
|
const ret = {}
|
||
|
for (const [prefix, target] of list) {
|
||
|
const isHttps = httpsRE.test(target)
|
||
|
|
||
|
// https://github.com/http-party/node-http-proxy#options
|
||
|
ret[prefix] = {
|
||
|
target: target,
|
||
|
changeOrigin: true,
|
||
|
ws: true,
|
||
|
rewrite: (path) => path.replace(new RegExp(`^${prefix}`), ''),
|
||
|
// https is require secure=false
|
||
|
...(isHttps ? { secure: false } : {}),
|
||
|
}
|
||
|
}
|
||
|
return ret
|
||
|
}
|