You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Here is my code for proxying the websocket request to the targer server. What I want to achieve is that like in case of REST requests in http-proxy, we use proxyReq event to modify the request if we want by accessing headers and req.body, I want to do the same for weboscket request as I want to access the authentication data auth that is passed from the socket client. I don't want to log or intercept the traffic sent or received after the weboscket connection, instead I want to intercept (not modify though) the actual request that contains data to authenticate the client on proxyReqws event or on upgrade event of server. Any help & guidance would be appreciated.
var app = express();
const fs = require('fs')
var https = require('https')
var httpProxy = require('http-proxy');
const credentials = { key: fs.readFileSync("localhost.key"), cert: fs.readFileSync("localhost.cert") };
var proxy = httpProxy.createProxyServer({ ws: true });
var server = https.createServer(credentials, app).listen(8080)
proxy.on('proxyReqWs', (proxyReq, req, socket, options, head) => {
//before the request is actually proxyed to the target server
//access websocket request & modify it
});
app.use('/socket.io', function (req, res) {
proxy.on('proxyRes', function (proxyRes, req, res) {
//on response, do something
});
proxy.on('error', function (err, req, res) {
console.log(err)
})
proxy.web(req, res, { target: { host: address.host, port: address.port, path: '/socket.io' } })
})
server.on('upgrade', function (req, socket, head) {
console.log("Upgraded to websockets")
proxy.ws(req, socket, head, { target: { host: address.host, port: address.port, path: '/socket.io' } });
});
On the basis of information I get from auth, the request will be routed to the specific instance.
The text was updated successfully, but these errors were encountered:
Areej-Fatima
changed the title
Intercept & modify websocket request before proxying it to server via http-proxy
Intercept websocket request before proxying it to server via http-proxy
Jan 25, 2023
Here is my code for proxying the websocket request to the targer server. What I want to achieve is that like in case of REST requests in http-proxy, we use
proxyReq
event to modify the request if we want by accessing headers andreq.body
, I want to do the same for weboscket request as I want to access the authentication dataauth
that is passed from the socket client. I don't want to log or intercept the traffic sent or received after the weboscket connection, instead I want to intercept (not modify though) the actual request that contains data to authenticate the client onproxyReqws
event or onupgrade
event of server. Any help & guidance would be appreciated.On the basis of information I get from auth, the request will be routed to the specific instance.
The text was updated successfully, but these errors were encountered: