Refactor socket.io URL normalization logic for improved clarity and robustness
- Simplified the normalization process for socket.io URLs by removing unnecessary production checks. - Enhanced comments for better understanding of URL handling, particularly regarding environment variables and port management. - Maintained fallback mechanisms for URL parsing failures to ensure consistent behavior across environments.
This commit is contained in:
@@ -188,22 +188,12 @@ const store = createStore({
|
||||
socketIoUrl = 'http://localhost:3001';
|
||||
}
|
||||
|
||||
// Normalisiere URL (Env-Variablen enthalten teils Ports/Pfade wie :4443 oder /api)
|
||||
// In Produktion sollte Socket.IO idealerweise über den gleichen Origin (443) laufen (Reverse-Proxy),
|
||||
// damit kein separater Port im Browser benötigt wird.
|
||||
// Normalisiere URL (Env-Variablen enthalten teils Pfade wie /api; Port kann absichtlich gesetzt sein, z.B. :4443)
|
||||
try {
|
||||
const hostname = window.location.hostname;
|
||||
const isProduction = hostname === 'www.your-part.de' || hostname.includes('your-part.de');
|
||||
if (socketIoUrl) {
|
||||
const parsed = new URL(socketIoUrl, window.location.origin);
|
||||
// Falls /api oder ähnliche Pfade enthalten sind → auf Origin reduzieren
|
||||
// Falls /api oder ähnliche Pfade enthalten sind → auf Origin reduzieren (inkl. Port!)
|
||||
socketIoUrl = parsed.origin;
|
||||
|
||||
// Falls in Produktion ein unüblicher Port gesetzt ist (z.B. :4443) → auf aktuellen Origin zurückfallen
|
||||
if (isProduction && parsed.hostname === hostname && parsed.port && parsed.port !== '443') {
|
||||
console.warn('[socket.io] Ungewöhnlicher Port in VITE_SOCKET_IO_URL erkannt, fallback auf window.location.origin:', parsed.origin, '→', window.location.origin);
|
||||
socketIoUrl = window.location.origin;
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
// Wenn Parsing fehlschlägt: letzte Rettung ist der aktuelle Origin
|
||||
|
||||
Reference in New Issue
Block a user