const moduleName = 'Bootstrap';
-const missingChargingStationsConfigurationExitCode = 1;
-const noChargingStationTemplatesExitCode = 2;
+enum exitCodes {
+ missingChargingStationsConfiguration = 1,
+ noChargingStationTemplates = 2,
+}
export class Bootstrap {
private static instance: Bootstrap | null = null;
console.warn(
chalk.yellow("'stationTemplateUrls' not defined or empty in configuration, exiting")
);
- process.exit(missingChargingStationsConfigurationExitCode);
+ process.exit(exitCodes.missingChargingStationsConfiguration);
}
if (this.numberOfChargingStations === 0) {
console.warn(
chalk.yellow('No charging station template enabled in configuration, exiting')
);
- process.exit(noChargingStationTemplatesExitCode);
+ process.exit(exitCodes.noChargingStationTemplates);
} else {
console.info(
chalk.green(
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));
public start(): void {
this.httpServer.on('request', this.requestListener.bind(this) as RequestListener);
- if (this.httpServer.listening === false) {
- this.httpServer.listen(this.uiServerConfiguration.options);
- }
+ this.startHttpServer();
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
});
}
);
- if (this.httpServer.listening === false) {
- this.httpServer.listen(this.uiServerConfiguration.options);
- }
+ this.startHttpServer();
}
public sendRequest(request: ProtocolRequest): void {