import { SocketServer } from 'socket-serve/server';
import { createMiddleware } from 'socket-serve/utils/middleware';
const server = new SocketServer({
redisUrl: process.env.REDIS_URL!,
});
// Create authentication middleware
const authMiddleware = createMiddleware(async (socket, next) => {
const token = socket.get('token');
if (!token) {
return next(new Error('No token provided'));
}
try {
const user = await verifyToken(token);
socket.set('user', user);
next(); // Continue to next middleware or handler
} catch (error) {
next(new Error('Invalid token'));
}
});
// Apply middleware
server.use(authMiddleware);