@evpower/ocpp-ts
Version:
OCPP 1.6: Open Charge Point Protocol
35 lines (31 loc) • 1.17 kB
text/typescript
import { IncomingMessage } from 'http';
import fs from 'fs';
import {
OcppServer, OcppClientConnection, BootNotificationRequest, BootNotificationResponse,
} from '../src';
import StatusCode from 'status-code-enum';
const cs = new OcppServer(30000);
cs.on('connection', (client: OcppClientConnection) => {
console.log(`Client ${client.getCpId()} connected`);
client.on('close', (code: number, reason: Buffer) => {
console.log(`Client ${client.getCpId()} closed connection`, code, reason.toString());
});
client.on('BootNotification', (request: BootNotificationRequest, cb: (response: BootNotificationResponse) => void) => {
const response: BootNotificationResponse = {
status: 'Accepted',
currentTime: new Date().toISOString(),
interval: 60,
};
cb(response);
});
});
cs.on('authorization', (cbId: string, req: IncomingMessage, cb: (status?: StatusCode) => void) => {
console.log('authorization', cbId, req.headers.authorization);
// validate authorization header
// cb(new Error('Unathorized')); // Deny
cb(); // Accept
});
cs.listen(9220, {
cert: fs.readFileSync('cert.pem'),
key: fs.readFileSync('key.pem'),
});