Passer au contenu

Guards

Il n’y a pas de différence fondamentale entre les guards des sockets Web et les guards d’application HTTP classiques. La seule différence est qu’au lieu de lancer une HttpException, vous devez utiliser une WsException.

Binding guards

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

Exemple d'utilisation de guards
@UseGuards(AuthGuard)
@SubscribeMessage('events')
handleEvent(client: Client, data: unknown): WsResponse<unknown> {
const event = 'events';
return { event, data };
}
Exemple d'utilisation de guards (méthodes)
@UseGuards(AuthGuard)
@SubscribeMessage('events')
handleEvent(client, data) {
const event = 'events';
return { event, data };
}