X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2Fui-server%2FUIHttpServer.ts;h=9e33302682533c68d39e9536cc878bd15a3b68c6;hb=7af183e79b63c60d72449a4eecb7e996927ec156;hp=f339dc3f858687ddbb6a46385f8a64d005bd7136;hpb=1b271a549cfd1b8e678a56918f113ebc7c17f592;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 f339dc3f..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,7 @@ 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 = - !Utils.isEmptyString(modName) && !Utils.isEmptyString(methodName) + Utils.isNotEmptyString(modName) && Utils.isNotEmptyString(methodName) ? ` ${logMsgPrefix} | ${modName}.${methodName}:` : ` ${logMsgPrefix} |`; return Utils.logPrefix(logMsg); @@ -102,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) => { @@ -112,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}'`);