X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2Fui-server%2FUIHttpServer.ts;h=85dbccdfe6ca5f79c10e360391f3b358f7aef871;hb=42b8cf5cdca8eaab1e7442f7c92c2a5ed97434f6;hp=159559df1f4cacb6eebaa1f67b8e6cca66ac030a;hpb=1ca4a038d1b263b3b66a3c1872742bd98a696e75;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/ui-server/UIHttpServer.ts b/src/charging-station/ui-server/UIHttpServer.ts index 159559df..85dbccdf 100644 --- a/src/charging-station/ui-server/UIHttpServer.ts +++ b/src/charging-station/ui-server/UIHttpServer.ts @@ -6,6 +6,7 @@ import { AbstractUIServer } from './AbstractUIServer'; import { UIServerUtils } from './UIServerUtils'; import { BaseError } from '../../exception'; import { + ApplicationProtocolVersion, type ProcedureName, type Protocol, type ProtocolRequest, @@ -15,7 +16,14 @@ import { ResponseStatus, type UIServerConfiguration, } from '../../types'; -import { Constants, Utils, logger } from '../../utils'; +import { + Constants, + generateUUID, + isNotEmptyString, + isNullOrUndefined, + logPrefix, + logger, +} from '../../utils'; const moduleName = 'UIHttpServer'; @@ -36,9 +44,12 @@ export class UIHttpServer extends AbstractUIServer { this.startHttpServer(); } - // eslint-disable-next-line @typescript-eslint/no-unused-vars public sendRequest(request: ProtocolRequest): void { - // This is intentionally left blank + switch (this.uiServerConfiguration.version) { + case ApplicationProtocolVersion.VERSION_20: + this.httpServer.emit('request', request); + break; + } } public sendResponse(response: ProtocolResponse): void { @@ -53,13 +64,13 @@ export class UIHttpServer extends AbstractUIServer { .end(JSON.stringify(payload)); } else { logger.error( - `${this.logPrefix(moduleName, 'sendResponse')} Response for unknown request id: ${uuid}` + `${this.logPrefix(moduleName, 'sendResponse')} Response for unknown request id: ${uuid}`, ); } } catch (error) { logger.error( `${this.logPrefix(moduleName, 'sendResponse')} Error at sending response id '${uuid}':`, - error + error, ); } finally { this.responseHandlers.delete(uuid); @@ -69,10 +80,10 @@ export class UIHttpServer extends AbstractUIServer { public logPrefix = (modName?: string, methodName?: string, prefixSuffix?: string): string => { const logMsgPrefix = prefixSuffix ? `UI HTTP Server ${prefixSuffix}` : 'UI HTTP Server'; const logMsg = - Utils.isNotEmptyString(modName) && Utils.isNotEmptyString(methodName) + isNotEmptyString(modName) && isNotEmptyString(methodName) ? ` ${logMsgPrefix} | ${modName}.${methodName}:` : ` ${logMsgPrefix} |`; - return Utils.logPrefix(logMsg); + return logPrefix(logMsg); }; private requestListener(req: IncomingMessage, res: ServerResponse): void { @@ -92,9 +103,9 @@ export class UIHttpServer extends AbstractUIServer { const [protocol, version, procedureName] = req.url?.split('/').slice(1) as [ Protocol, ProtocolVersion, - ProcedureName + ProcedureName, ]; - const uuid = Utils.generateUUID(); + const uuid = generateUUID(); this.responseHandlers.set(uuid, res); try { const fullProtocol = `${protocol}${version}`; @@ -105,13 +116,13 @@ export class UIHttpServer extends AbstractUIServer { req.on('error', (error) => { logger.error( `${this.logPrefix(moduleName, 'requestListener.req.onerror')} Error on HTTP request:`, - error + error, ); }); if (req.method === HttpMethods.POST) { - const bodyBuffer = []; + const bodyBuffer: Uint8Array[] = []; req - .on('data', (chunk) => { + .on('data', (chunk: Uint8Array) => { bodyBuffer.push(chunk); }) .on('end', () => { @@ -122,12 +133,12 @@ export class UIHttpServer extends AbstractUIServer { this.buildProtocolRequest( uuid, procedureName, - body ?? Constants.EMPTY_FREEZED_OBJECT - ) + body ?? Constants.EMPTY_FROZEN_OBJECT, + ), ) - .then((protocolResponse: ProtocolResponse) => { - if (!Utils.isNullOrUndefined(protocolResponse)) { - this.sendResponse(protocolResponse); + .then((protocolResponse?: ProtocolResponse) => { + if (!isNullOrUndefined(protocolResponse)) { + this.sendResponse(protocolResponse!); } }) .catch(Constants.EMPTY_FUNCTION); @@ -138,7 +149,7 @@ export class UIHttpServer extends AbstractUIServer { } catch (error) { logger.error( `${this.logPrefix(moduleName, 'requestListener')} Handle HTTP request error:`, - error + error, ); this.sendResponse(this.buildProtocolResponse(uuid, { status: ResponseStatus.FAILURE })); }