From 99aa1555d96c405665816587c38b34de7cb49820 Mon Sep 17 00:00:00 2001 From: Nurudeen Yekeen Date: Fri, 18 Nov 2022 08:33:40 +0100 Subject: [PATCH] [add] dynamic socketurl --- web/src/hooks/useSocket.tsx | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/web/src/hooks/useSocket.tsx b/web/src/hooks/useSocket.tsx index d95c678..7944540 100644 --- a/web/src/hooks/useSocket.tsx +++ b/web/src/hooks/useSocket.tsx @@ -7,7 +7,9 @@ import { } from 'server/ServerType'; const wssMetricsBaseURL = `${process.env.REACT_APP_WS_BASE_URL}/metrics`; - +const wssMetricsURL = `${ + window.location.protocol === 'https:' ? 'wss' : 'ws' +}://${window.location.host}/metrics`; /* This hook is used to connect to the websocket server and send messages to it. */ @@ -29,8 +31,9 @@ export default function useSocket(options = {}) { const servicesGroupedByName: ServerGroupedByNameResponseType = servers.reduce( (group: any, server: any) => { const { Message } = server; - const { Name } = Message; + const { Name,Host } = Message; group[Name] = group[Name] ?? []; + group[Name].host = Host; group[Name].push(server); return group; }, @@ -40,7 +43,10 @@ export default function useSocket(options = {}) { // Uncomment during debugging // console.log('server', servers); - const { sendJsonMessage, readyState } = useWebSocket(wssMetricsBaseURL, { + let socketUrl = + process.env.NODE_ENV === 'production' ? wssMetricsURL : wssMetricsBaseURL; + + const { sendJsonMessage, readyState } = useWebSocket(socketUrl, { onOpen: () => console.log('WebSocket connection opened.'), onClose: () => console.log('WebSocket connection closed.'), shouldReconnect: (closeEvent) => true,