X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2Fui-server%2FAbstractUIServer.ts;h=643b18831f2010c525844ccd5085f1a1a3a20ca8;hb=7f77d16f956cd81a026a042ed440aaaba37b1c56;hp=d8ef6340296b5b2ddefa4dbd471529e197a72f40;hpb=976d11ec6d2d38a5a82440de79f059638e28cdbd;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/ui-server/AbstractUIServer.ts b/src/charging-station/ui-server/AbstractUIServer.ts index d8ef6340..643b1883 100644 --- a/src/charging-station/ui-server/AbstractUIServer.ts +++ b/src/charging-station/ui-server/AbstractUIServer.ts @@ -1,20 +1,21 @@ -import { type IncomingMessage, Server, type ServerResponse } from 'http'; +import { type IncomingMessage, Server, type ServerResponse } from 'node:http'; import type { WebSocket } from 'ws'; -import type { ChargingStationData } from '../../types/ChargingStationWorker'; -import type { UIServerConfiguration } from '../../types/ConfigurationData'; +import type { AbstractUIService } from './ui-services/AbstractUIService'; +import { UIServiceFactory } from './ui-services/UIServiceFactory'; +import { BaseError } from '../../exception'; import { AuthenticationType, - ProcedureName, - ProtocolRequest, - ProtocolResponse, - ProtocolVersion, - RequestPayload, - ResponsePayload, -} from '../../types/UIProtocol'; -import type AbstractUIService from './ui-services/AbstractUIService'; -import UIServiceFactory from './ui-services/UIServiceFactory'; + type ChargingStationData, + type ProcedureName, + type ProtocolRequest, + type ProtocolResponse, + type ProtocolVersion, + type RequestPayload, + type ResponsePayload, + type UIServerConfiguration, +} from '../../types'; export abstract class AbstractUIServer { public readonly chargingStations: Map; @@ -45,6 +46,12 @@ export abstract class AbstractUIServer { this.chargingStations.clear(); } + protected startHttpServer(): void { + if (this.httpServer.listening === false) { + this.httpServer.listen(this.uiServerConfiguration.options); + } + } + protected registerProtocolVersionUIService(version: ProtocolVersion): void { if (this.uiServices.has(version) === false) { this.uiServices.set(version, UIServiceFactory.getUIServiceImplementation(version, this)); @@ -54,7 +61,7 @@ export abstract class AbstractUIServer { protected authenticate(req: IncomingMessage, next: (err?: Error) => void): void { if (this.isBasicAuthEnabled() === true) { if (this.isValidBasicAuth(req) === false) { - next(new Error('Unauthorized')); + next(new BaseError('Unauthorized')); } next(); }