Files
Automata/packages/cli/src/push/websocket.push.ts
कारतोफ्फेलस्क्रिप्ट™ 538984dc2f feat(core): Add support for WebSockets as an alternative to Server-Sent Events (#5443)
Co-authored-by: Matthijs Knigge <matthijs@volcano.nl>
2023-02-10 15:02:47 +01:00

20 lines
527 B
TypeScript

import type WebSocket from 'ws';
import { AbstractPush } from './abstract.push';
export class WebSocketPush extends AbstractPush<WebSocket> {
add(sessionId: string, connection: WebSocket) {
super.add(sessionId, connection);
// Makes sure to remove the session if the connection is closed
connection.once('close', () => this.remove(sessionId));
}
protected close(connection: WebSocket): void {
connection.close();
}
protected sendToOne(connection: WebSocket, data: string): void {
connection.send(data);
}
}