+import { AsyncResource } from 'async_hooks';
+
import type { JSONSchemaType } from 'ajv';
import Ajv from 'ajv-draft-04';
import ajvFormats from 'ajv-formats';
export default abstract class OCPPIncomingRequestService {
private static instance: OCPPIncomingRequestService | null = null;
+ protected asyncResource: AsyncResource;
private ajv: Ajv;
protected constructor() {
+ this.asyncResource = new AsyncResource(moduleName);
this.ajv = new Ajv();
ajvFormats(this.ajv);
this.incomingRequestHandler.bind(this);
params: HandleErrorParams<T> = { throwError: true }
): T {
logger.error(
- `${chargingStation.logPrefix()} ${moduleName}.handleIncomingRequestError: Incoming request command ${commandName} error:`,
+ `${chargingStation.logPrefix()} ${moduleName}.handleIncomingRequestError: Incoming request command '${commandName}' error:`,
error
);
if (!params?.throwError && params?.errorResponse) {
schema: JSONSchemaType<T>,
payload: T
): boolean {
- if (!chargingStation.getPayloadSchemaValidation()) {
+ if (chargingStation.getPayloadSchemaValidation() === false) {
return true;
}
const validate = this.ajv.compile(schema);