X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2Fui-server%2FUIHttpServer.ts;h=9e33302682533c68d39e9536cc878bd15a3b68c6;hb=c6045c84b3075954739be904d3454fede196ef8d;hp=50bdfb592d1ac73291f62a2e68005406646fc353;hpb=8b7072dca602c80ec6ef9a3463b6d53b43aa8fa5;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 50bdfb59..9e333026 100644 --- a/src/charging-station/ui-server/UIHttpServer.ts +++ b/src/charging-station/ui-server/UIHttpServer.ts @@ -1,11 +1,8 @@ -import type { IncomingMessage, RequestListener, ServerResponse } from 'http'; +import type { IncomingMessage, RequestListener, ServerResponse } from 'node:http'; import { StatusCodes } from 'http-status-codes'; -import { AbstractUIServer } from './AbstractUIServer'; -import { UIServerUtils } from './UIServerUtils'; -import BaseError from '../../exception/BaseError'; -import type { UIServerConfiguration } from '../../types/ConfigurationData'; +import { BaseError } from '../../exception'; import { type ProcedureName, type Protocol, @@ -14,13 +11,21 @@ import { type ProtocolVersion, type RequestPayload, ResponseStatus, -} from '../../types/UIProtocol'; -import logger from '../../utils/Logger'; -import Utils from '../../utils/Utils'; + type UIServerConfiguration, +} from '../../types'; +import { Constants, Utils, logger } from '../../utils'; +import { AbstractUIServer, UIServerUtils } from '../internal'; const moduleName = 'UIHttpServer'; -export default class UIHttpServer extends AbstractUIServer { +enum HttpMethods { + GET = 'GET', + PUT = 'PUT', + POST = 'POST', + PATCH = 'PATCH', +} + +export class UIHttpServer extends AbstractUIServer { public constructor(protected readonly uiServerConfiguration: UIServerConfiguration) { super(uiServerConfiguration); } @@ -63,7 +68,9 @@ export default 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 = - modName && methodName ? ` ${logMsgPrefix} | ${modName}.${methodName}:` : ` ${logMsgPrefix} |`; + Utils.isNotEmptyString(modName) && Utils.isNotEmptyString(methodName) + ? ` ${logMsgPrefix} | ${modName}.${methodName}:` + : ` ${logMsgPrefix} |`; return Utils.logPrefix(logMsg); }; @@ -100,7 +107,7 @@ export default class UIHttpServer extends AbstractUIServer { error ); }); - if (req.method === 'POST') { + if (req.method === HttpMethods.POST) { const bodyBuffer = []; req .on('data', (chunk) => { @@ -110,10 +117,14 @@ export default class UIHttpServer extends AbstractUIServer { const body = JSON.parse(Buffer.concat(bodyBuffer).toString()) as RequestPayload; this.uiServices .get(version) - ?.requestHandler(this.buildProtocolRequest(uuid, procedureName, body ?? {})) - .catch(() => { - /* Error caught by AbstractUIService */ - }); + ?.requestHandler( + this.buildProtocolRequest( + uuid, + procedureName, + body ?? Constants.EMPTY_FREEZED_OBJECT + ) + ) + .catch(Constants.EMPTY_FUNCTION); }); } else { throw new BaseError(`Unsupported HTTP method: '${req.method}'`);