Server IP : 92.205.26.207 / Your IP : 216.73.216.16 Web Server : Apache System : Linux 207.26.205.92.host.secureserver.net 4.18.0-553.60.1.el8_10.x86_64 #1 SMP Thu Jul 10 04:01:16 EDT 2025 x86_64 User : zikryat ( 1002) PHP Version : 8.3.23 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/zikryat/public_html/src/chat/socket_io/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
/** * Copyright 2023, the hatemragab project author. * All rights reserved. Use of this source code is governed by a * MIT license that can be found in the LICENSE file. */ import {IoAdapter} from "@nestjs/platform-socket.io"; import {ServerOptions} from "socket.io"; import {INestApplicationContext} from "@nestjs/common"; import { AuthService } from "../../api/auth/auth.service"; export class RedisIoAdapter extends IoAdapter { constructor( private app: INestApplicationContext ) { super(app); } createIOServer(port: number, options?: ServerOptions): any { const server = super.createIOServer(port, options); server.use(async (socket, next) => { try { let authToken; if (socket.handshake['headers']['authorization']) { authToken = socket.handshake['headers']['authorization'].split(" ")[1] } else { if (socket.handshake.query['auth']) { authToken = socket.handshake.query['auth'].split(" ")[1]; } } if (!authToken) { next(new Error("Auth must be provided !")) } let authService = this.app.get(AuthService); socket.user = await authService.getVerifiedUser(authToken); next(); } catch (e) { console.log(e); next(e); } }); return server; } }