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()
).
@UsePipes(new ValidationPipe())@SubscribeMessage('events')handleEvent(client: Client, data: unknown): WsResponse<unknown> { const event = 'events'; return { event, data };}
@UsePipes(new ValidationPipe())@SubscribeMessage('events')handleEvent(client, data) { const event = 'events'; return { event, data };}