X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2Fui-server%2FUIServerFactory.ts;h=0f75f60feabdd9f331bc56b3b6db3ec13c5c4c58;hb=6501eda9e69fff639911308b3f2de26593ae18c9;hp=2a6b521e42446cf0713b3a138db2051bf5eb53ba;hpb=5d0498291974ec3a130ba4b1c4663d13d16992c5;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/ui-server/UIServerFactory.ts b/src/charging-station/ui-server/UIServerFactory.ts index 2a6b521e..0f75f60f 100644 --- a/src/charging-station/ui-server/UIServerFactory.ts +++ b/src/charging-station/ui-server/UIServerFactory.ts @@ -4,8 +4,11 @@ import type { AbstractUIServer } from './AbstractUIServer'; import { UIHttpServer } from './UIHttpServer'; import { UIServerUtils } from './UIServerUtils'; import { UIWebSocketServer } from './UIWebSocketServer'; -import { ApplicationProtocol, ConfigurationSection, type UIServerConfiguration } from '../../types'; -import { Configuration } from '../../utils'; +import { + ApplicationProtocol, + ApplicationProtocolVersion, + type UIServerConfiguration, +} from '../../types'; export class UIServerFactory { private constructor() { @@ -13,34 +16,35 @@ export class UIServerFactory { } public static getUIServerImplementation( - uiServerConfiguration?: UIServerConfiguration, + uiServerConfiguration: UIServerConfiguration, ): AbstractUIServer | null { - if (UIServerUtils.isLoopback(uiServerConfiguration!.options!.host!) === false) { + if (UIServerUtils.isLoopback(uiServerConfiguration.options!.host!) === false) { console.warn( chalk.yellow( 'Loopback address not detected in UI server configuration. This is not recommended.', ), ); } - switch ( - uiServerConfiguration?.type ?? - Configuration.getConfigurationSection(ConfigurationSection.uiServer) - .type + uiServerConfiguration = { + 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 ?? - Configuration.getConfigurationSection( - ConfigurationSection.uiServer, - ), - ); + return new UIWebSocketServer(uiServerConfiguration); case ApplicationProtocol.HTTP: - return new UIHttpServer( - uiServerConfiguration ?? - Configuration.getConfigurationSection( - ConfigurationSection.uiServer, - ), - ); + return new UIHttpServer(uiServerConfiguration); default: return null; }