feat(realtime): use CBOR encoding in production mode

Signed-off-by: Erik Michelson <github@erik.michelson.eu>
This commit is contained in:
Erik Michelson 2023-03-30 01:40:16 +02:00
parent 8a66031ff3
commit 7f8add6cd4
No known key found for this signature in database
GPG key ID: DB99ADDDC5C0AF82
10 changed files with 225 additions and 19 deletions

View file

@ -3,7 +3,11 @@
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
import { WebsocketTransporter } from '@hedgedoc/commons';
import {
CborMessageEncoder,
JsonMessageEncoder,
WebsocketTransporter,
} from '@hedgedoc/commons';
import { OnGatewayConnection, WebSocketGateway } from '@nestjs/websockets';
import { IncomingMessage } from 'http';
import WebSocket from 'ws';
@ -76,7 +80,12 @@ export class WebsocketGateway implements OnGatewayConnection {
const realtimeNote =
await this.realtimeNoteService.getOrCreateRealtimeNote(note);
const websocketTransporter = new WebsocketTransporter();
const messageEncoder =
process.env.NODE_ENV === 'development'
? new JsonMessageEncoder()
: new CborMessageEncoder();
const websocketTransporter = new WebsocketTransporter(messageEncoder);
const connection = new RealtimeConnection(
websocketTransporter,
user,