fix ip processing bug: ip was sometimes an array

This commit is contained in:
Evan
2024-12-31 13:09:20 -08:00
committed by evanpelle
parent 843a1186ce
commit 0b8950f4bc
2 changed files with 16 additions and 17 deletions
+16 -15
View File
@@ -122,19 +122,19 @@ app.get('/private_lobby/:id', (req, res) => {
wss.on('connection', (ws, req) => {
ws.on('message', (message: string) => {
const clientMsg: ClientMessage = ClientMessageSchema.parse(JSON.parse(message))
slog({
logKey: 'websocket_msg',
msg: 'server received websocket message',
data: clientMsg,
severity: LogSeverity.Debug
})
if (clientMsg.type == "join") {
const forwarded = req.headers['x-forwarded-for']
const ip = Array.isArray(forwarded)
? forwarded[0] // Get the first IP if it's an array
: forwarded || req.socket.remoteAddress;
try {
const clientMsg: ClientMessage = ClientMessageSchema.parse(JSON.parse(message))
slog({
logKey: 'websocket_msg',
msg: 'server received websocket message',
data: clientMsg,
severity: LogSeverity.Debug
})
if (clientMsg.type == "join") {
const forwarded = req.headers['x-forwarded-for']
const ip = Array.isArray(forwarded)
? forwarded[0] // Get the first IP if it's an array
: forwarded || req.socket.remoteAddress;
const username = clientMsg.username;
const { isValid, error } = validateUsername(username);
if (!isValid) {
@@ -147,8 +147,9 @@ wss.on('connection', (ws, req) => {
}));
return;
}
// If username is valid, add the client
if (Array.isArray(ip)) {
ip = ip[0]
}
gm.addClient(
new Client(
clientMsg.clientID,