X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2Fui-server%2FUIServerFactory.ts;h=905ce66d5325fc7bca9424d6f313de5cec089588;hb=ded57f0259fa940943889c5370bc8a91c8178866;hp=b0020b2e872e11dc6a59b0a5491f265203453a45;hpb=8114d10e3893e96bb725ce2fca9744429ee4b75b;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 b0020b2e..905ce66d 100644 --- a/src/charging-station/ui-server/UIServerFactory.ts +++ b/src/charging-station/ui-server/UIServerFactory.ts @@ -1,31 +1,29 @@ import chalk from 'chalk'; -import { ServerOptions } from '../../types/ConfigurationData'; -import { ApplicationProtocol } from '../../types/UIProtocol'; -import Configuration from '../../utils/Configuration'; -import { AbstractUIServer } from './AbstractUIServer'; -import { UIServiceUtils } from './ui-services/UIServiceUtils'; -import UIWebSocketServer from './UIWebSocketServer'; +import { ApplicationProtocol, type UIServerConfiguration } from '../../types'; +import { Configuration } from '../../utils'; +import { type AbstractUIServer, UIHttpServer, UIServerUtils, UIWebSocketServer } from '../internal'; -export default class UIServerFactory { +export class UIServerFactory { private constructor() { // This is intentional } public static getUIServerImplementation( - applicationProtocol: ApplicationProtocol, - options?: ServerOptions + uiServerConfiguration?: UIServerConfiguration ): AbstractUIServer | null { - if (!UIServiceUtils.isLoopback(options?.host)) { + if (UIServerUtils.isLoopback(uiServerConfiguration.options?.host) === false) { console.warn( - chalk.magenta( + chalk.yellow( '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; }