X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcharging-station%2Fui-server%2FUIServerFactory.ts;h=2e5245329b9b70485a8796f92bd2b661124c602d;hb=976d11ec6d2d38a5a82440de79f059638e28cdbd;hp=26bbe6dd48519806862bd21fccad1233384853c9;hpb=d5bd1c008c3b2fbe6426ae12e1e12afe97807c57;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 26bbe6dd..2e524532 100644 --- a/src/charging-station/ui-server/UIServerFactory.ts +++ b/src/charging-station/ui-server/UIServerFactory.ts @@ -1,10 +1,12 @@ -import { AbstractUIServer } from './AbstractUIServer'; +import chalk from 'chalk'; + +import type { UIServerConfiguration } from '../../types/ConfigurationData'; import { ApplicationProtocol } from '../../types/UIProtocol'; import Configuration from '../../utils/Configuration'; -import { ServerOptions } from '../../types/ConfigurationData'; +import type { AbstractUIServer } from './AbstractUIServer'; import { UIServiceUtils } from './ui-services/UIServiceUtils'; +import UIHttpServer from './UIHttpServer'; import UIWebSocketServer from './UIWebSocketServer'; -import chalk from 'chalk'; export default class UIServerFactory { private constructor() { @@ -12,19 +14,20 @@ export default class UIServerFactory { } public static getUIServerImplementation( - applicationProtocol: ApplicationProtocol, - options?: ServerOptions + uiServerConfiguration?: UIServerConfiguration ): AbstractUIServer | null { - if (!UIServiceUtils.isLoopback(options?.host)) { + if (UIServiceUtils.isLoopback(uiServerConfiguration.options?.host) === false) { console.warn( chalk.magenta( 'Loopback address not detected in UI server configuration. This is not recommended.' ) ); } - switch (applicationProtocol) { + switch (uiServerConfiguration?.type ?? Configuration.getUIServer().type) { case ApplicationProtocol.WS: - return new UIWebSocketServer(options ?? Configuration.getUIServer().options); + return new UIWebSocketServer(uiServerConfiguration ?? Configuration.getUIServer()); + case ApplicationProtocol.HTTP: + return new UIHttpServer(uiServerConfiguration ?? Configuration.getUIServer()); default: return null; }