NestJS Gateways: путь с ярлыками

Я пытаюсь создать шлюз веб-сокетов в NestJS, который отвечает на несколько путей. Это требование, так как то, что я пытаюсь построить, заменит существующую систему. Я использую WsAdapter в качестве основного адаптера для этого.

Пути веб-сокетов могут быть выражены слагами (например, /ws/:key) или регулярные выражения. Однако декоратор WebSocketGateway принимает только одну строку и не распознает ярлыки как таковые.

import { OnGatewayInit, SubscribeMessage, WebSocketGateway } from '@nestjs/websockets';
import { Logger } from '@nestjs/common';

@WebSocketGateway({path: '/ws/:key'})  // FIXME: ":key" should be treated as a slug here
export class ManagementGateway implements OnGatewayInit {
  private readonly logger = new Logger(ManagementGateway.name, false);

  afterInit(server: any): any {
    this.logger.debug('Websockets gateway initialized');
  }

  @SubscribeMessage('ctl')
  handle(client: any, data: unknown): void {
    this.logger.debug('ctl');
    // TODO
  }
}

Предыдущая устаревшая реализация, которую я заменяю, делает это с помощью ws, express и сопоставление путей на основе регулярных выражений.

Приветствуются любые подсказки или указатели.

0 ответов

Другие вопросы по тегам