From 0b82a47a691f9ac27235fbb9ede8b7e4ee11dc5e Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Fri, 5 Dec 2025 11:15:43 +0100 Subject: [PATCH] Refactor session ID extraction by exporting the extractSessionId function from broadcast.js. Update routes.js to utilize this function for consistent session ID handling during image uploads, improving code clarity and maintainability. --- server/broadcast.js | 2 +- server/routes.js | 14 ++++---------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/server/broadcast.js b/server/broadcast.js index 8dfc702..47cde5f 100644 --- a/server/broadcast.js +++ b/server/broadcast.js @@ -66,7 +66,7 @@ export function getSessionIdForSocket(socketId) { return socketToSessionMap.get(socketId); } -function extractSessionId(handshakeOrRequest) { +export function extractSessionId(handshakeOrRequest) { // Unterstützt sowohl Socket.IO handshake als auch Express request const cookies = handshakeOrRequest.headers?.cookie || handshakeOrRequest.cookies || ''; diff --git a/server/routes.js b/server/routes.js index e5ef6ff..c19b00b 100644 --- a/server/routes.js +++ b/server/routes.js @@ -6,7 +6,7 @@ import multer from 'multer'; import crypto from 'crypto'; import axios from 'axios'; -import { getSessionStatus, getClientsMap, getSessionIdForSocket } from './broadcast.js'; +import { getSessionStatus, getClientsMap, getSessionIdForSocket, extractSessionId } from './broadcast.js'; // __dirname für ES-Module const __filename = fileURLToPath(import.meta.url); @@ -63,16 +63,10 @@ export function setupRoutes(app, __dirname) { } // Prüfe, ob Benutzer eingeloggt ist - // Extrahiere Session-ID wie in broadcast.js (entferne s: Präfix und Signatur) - let sessionId = req.sessionID; - if (sessionId && sessionId.startsWith('s:')) { - const parts = sessionId.split('.'); - if (parts.length > 0) { - sessionId = parts[0].substring(2); // Entferne 's:' Präfix - } - } + // Verwende extractSessionId wie in broadcast.js, um die gleiche Session-ID zu erhalten + const sessionId = extractSessionId(req); - console.log(`[Bild-Upload] Session-ID: ${sessionId}, Alle Clients:`, Array.from(getClientsMap().keys())); + console.log(`[Bild-Upload] Session-ID (aus Cookie): ${sessionId}, req.sessionID: ${req.sessionID}, Alle Clients:`, Array.from(getClientsMap().keys())); const clientsMap = getClientsMap(); const client = clientsMap.get(sessionId);