Passer au contenu

Pipes

Il n’y a pas de différence fondamentale entre les pipes classiques et les pipes pour websockets. La seule différence est qu’au lieu de lancer une HttpException, vous devez utiliser une WsException. De plus, tous les pipes ne s’appliqueront qu’au paramètre data (car valider ou transformer l’instance client est inutile).

Binding pipes

L’exemple suivant utilise une pipe instanciée manuellement portée sur une méthode. Tout comme avec les applications basées sur HTTP, vous pouvez également utiliser des pipes portées sur des gateways (c’est-à-dire préfixer la classe de gateway avec un décorateur @UsePipes()).

Exemple d'utilisation des pipes
@UsePipes(new ValidationPipe())
@SubscribeMessage('events')
handleEvent(client: Client, data: unknown): WsResponse<unknown> {
const event = 'events';
return { event, data };
}
Exemple d'utilisation des pipes sans type de données
@UsePipes(new ValidationPipe())
@SubscribeMessage('events')
handleEvent(client, data) {
const event = 'events';
return { event, data };
}