import {IncomingMessage} from "http"; import WebSocket from "ws"; import Application from "./Application.js"; export default abstract class WebSocketListener { 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; }