swaf/src/WebSocketListener.ts

24 lines
480 B
TypeScript

import {IncomingMessage} from "http";
import WebSocket from "ws";
import Application from "./Application.js";
export default abstract class WebSocketListener<T extends Application> {
private app!: T;
public init(app: T): void {
this.app = app;
}
protected getApp(): T {
return this.app;
}
public abstract path(): string;
public abstract handle(
socket: WebSocket,
request: IncomingMessage,
): Promise<void>;
}