core: catch websocket errors

This commit is contained in:
undefined committed 2022-11-14 20:04:20 +08:00
1 parent 62ce66237a
commit 00f83d805a
1 file changed
+6
+6
View File
@@ -497,6 +497,12 @@ ${ctx.response.status} ${endTime - startTime}ms ${ctx.response.length}`);
layers.forEach((layer) => app.use(layer as any));
app.use((ctx) => handle(ctx, NotFoundHandler, () => true));
wsServer.on('connection', async (socket, request) => {
socket.on('error', (err) => {
logger.warn('Websocket Error: %s', err.message);
try {
socket.close(1003, 'Websocket Error');
} catch (e) { }
});
const ctx: any = app.createContext(request, {} as any);
await domainLayer(ctx, () => baseLayer(ctx, () => layers[1](ctx, () => userLayer(ctx, () => { }))));
for (const manager of router.wsStack) {