From b69b2cfaa9866d8f3b54d9085e37196023b46449 Mon Sep 17 00:00:00 2001 From: shiv3 Date: Sat, 28 Sep 2024 18:22:13 +0900 Subject: [PATCH] add basic auth setting --- src/cp/index.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/cp/index.ts b/src/cp/index.ts index b667ac6..b013a18 100644 --- a/src/cp/index.ts +++ b/src/cp/index.ts @@ -51,12 +51,18 @@ export default class ChargePoint { constructor( readonly id: string, private readonly requestHandler: RequestHandler, ValidationError | undefined, 'v1.6-json'>, - private readonly csUrl: string + private readonly csUrl: string, + private readonly basicAuth: {username:string,password:string} | undefined = undefined, ) { } async connect(): Promise>> { const url = `${this.csUrl}/${this.id}`; - const socket = new WebSocket(url, SUPPORTED_PROTOCOLS); + const authHeader = this.basicAuth ? { + 'authorization': 'Basic ' + Buffer.from(`${this.basicAuth.username}:${this.basicAuth.password}`).toString('base64') + }: {}; + const socket = new WebSocket(url, SUPPORTED_PROTOCOLS,{ + headers: authHeader, + }); const connection = new Connection( socket, @@ -78,7 +84,7 @@ export default class ChargePoint { /** * @example * import { ChargePoint } from '@voltbras/ts-ocpp'; - * + * * async function communicate(chargePoint: ChargePoint) { * const response = await chargePoint.sendRequest({ action: 'Heartbeat', ocppVersion: 'v1.6-json', payload: {}}); * // it can be used in a functional way