fix: fix ui server default application protocol version handling
[e-mobility-charging-stations-simulator.git] / src / charging-station / ui-server / UIServerFactory.ts
index 49f088377c514f1d90059436fa11aef6cb6695c0..0f75f60feabdd9f331bc56b3b6db3ec13c5c4c58 100644 (file)
@@ -9,7 +9,6 @@ import {
   ApplicationProtocolVersion,
   type UIServerConfiguration,
 } from '../../types';
-import { isUndefined } from '../../utils';
 
 export class UIServerFactory {
   private constructor() {
@@ -27,12 +26,20 @@ export class UIServerFactory {
       );
     }
     uiServerConfiguration = {
-      ...(uiServerConfiguration.type === ApplicationProtocol.HTTP &&
-        isUndefined(uiServerConfiguration.version) && {
-          version: ApplicationProtocolVersion.VERSION_11,
-        }),
+      version: ApplicationProtocolVersion.VERSION_11,
       ...uiServerConfiguration,
     };
+    if (
+      uiServerConfiguration.type === ApplicationProtocol.WS &&
+      uiServerConfiguration.version !== ApplicationProtocolVersion.VERSION_11
+    ) {
+      console.warn(
+        chalk.yellow(
+          `Only version ${ApplicationProtocolVersion.VERSION_11} is supported for WebSocket UI server. Falling back to version ${ApplicationProtocolVersion.VERSION_11}.`,
+        ),
+      );
+      uiServerConfiguration.version = ApplicationProtocolVersion.VERSION_11;
+    }
     switch (uiServerConfiguration.type) {
       case ApplicationProtocol.WS:
         return new UIWebSocketServer(uiServerConfiguration);