const express = require('express'); const app = express(); const http = require('http'); const { Server } = require('socket.io'); const cors = require('cors'); const logger = require('morgan'); const helmet = require('helmet'); const formatsLogger = app.get('env') === 'development' ? 'dev' : 'short'; app.use(helmet()); app.use(logger(formatsLogger)); app.use(cors()); const server = http.createServer(app); const io = new Server(server, { cors: { origin: '*', methods: ['GET', 'POST'], }, }); io.on('connection', (socket) => { console.log('connect', socket.id); socket.emit('me', socket.id); socket.on('call', ({ userToCall, signalData, from, name }) => { io.to(userToCall).emit('call', { signal: signalData, from, name }); }); socket.on('answer', (data) => { io.to(data.to).emit('accepted', { signal: data.signal }); }); }); module.exports = server;