Add /absproxy to remove --proxy-path-passthrough

See https://github.com/cdr/code-server/issues/2222#issuecomment-765235938

Makes way more sense.
This commit is contained in:
Anmol Sethi
2021-02-04 17:29:44 -05:00
parent 4bace1ae4a
commit c08e3bb06d
4 changed files with 56 additions and 32 deletions

View File

@ -103,8 +103,25 @@ export const register = async (
app.use("/", domainProxy.router)
wsApp.use("/", domainProxy.wsRouter.router)
app.use("/proxy", proxy.router)
wsApp.use("/proxy", proxy.wsRouter.router)
app.all("/proxy/(:port)(/*)?", (req, res) => {
proxy.proxy(req, res)
})
wsApp.get("/proxy/(:port)(/*)?", (req, res) => {
proxy.wsProxy(req as WebsocketRequest)
})
// These two routes pass through the path directly.
// So the proxied app must be aware it is running
// under /absproxy/<someport>/
app.all("/absproxy/(:port)(/*)?", (req, res) => {
proxy.proxy(req, res, {
passthroughPath: true,
})
})
wsApp.get("/absproxy/(:port)(/*)?", (req, res) => {
proxy.wsProxy(req as WebsocketRequest, {
passthroughPath: true,
})
})
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: true }))