/** * Convert HTTP URL to WebSocket URL. * http://localhost:8080 → ws://localhost:8080/ws * https://api.example.com → wss://api.example.com/ws */ export function httpToWebSocketUrl(baseUrl: string): string { try { const url = new URL(baseUrl); const protocol = url.protocol === "https:" ? "wss:" : "ws:"; return `${protocol}//${url.host}/ws`; } catch { throw new Error(`Invalid URL format: ${baseUrl}`); } } /** * Validate backend URL format */ export function isValidBackendUrl(url: string): boolean { try { const parsed = new URL(url); return parsed.protocol === "http:" || parsed.protocol === "https:"; } catch { return false; } }