socket-handler.ts 714 B

1234567891011121314151617181920212223
  1. import { DockgeServer } from "./dockge-server";
  2. import { DockgeSocket } from "./util-server";
  3. import { log } from "./log";
  4. export abstract class SocketHandler {
  5. abstract create(socket : DockgeSocket, server : DockgeServer): void;
  6. event(eventName : string, socket : DockgeSocket, callback: (...args: any[]) => void) {
  7. socket.on(eventName, (...args) => {
  8. log.debug("SOCKET", "Received event: " + eventName);
  9. let req = args[0];
  10. let endpoint = req.endpoint;
  11. if (endpoint) {
  12. socket.instanceManager.emitToEndpoint(endpoint, eventName, ...args);
  13. } else {
  14. callback(...args);
  15. }
  16. });
  17. }
  18. }