- socket.write(`HTTP/1.1 ${StatusCodes.BAD_REQUEST} Bad Request\r\n\r\n`);
- socket.destroy();
- }
- });
- this.httpServer.on(
- 'upgrade',
- (req: IncomingMessage, socket: internal.Duplex, head: Buffer): void => {
- this.authenticate(req, (err) => {
- if (err) {
- socket.write(`HTTP/1.1 ${StatusCodes.UNAUTHORIZED} Unauthorized\r\n\r\n`);
- socket.destroy();
- return;
- }
- try {
- this.webSocketServer.handleUpgrade(req, socket, head, (ws: WebSocket) => {
- this.webSocketServer.emit('connection', ws, req);
- });
- } catch (error) {
- logger.error(
- `${this.logPrefix(
- moduleName,
- 'start.httpServer.on.upgrade'
- )} Error at handling connection upgrade:`,
- error
- );
- }
- });