rsnext/test/e2e/socket-io/pages/api/socket.js
Shu Ding eb4b41e513
Fix unmatched WebSocket upgrade requests being closed (#57245)
We should not close unmatched sockets as it might be handled by user's server.

Fixes #56996
Fixes #49334
Fixes #55299
2023-10-23 17:23:34 +00:00

29 lines
568 B
JavaScript

import { Server } from 'socket.io'
function onSocketConnection(io, socket) {
const createdMessage = (msg) => {
socket.broadcast.emit('newIncomingMessage', msg)
}
socket.on('createdMessage', createdMessage)
}
export default function handler(req, res) {
if (res.socket.server.io) {
res.end()
return
}
const io = new Server(res.socket.server, {
path: '/api/my_awesome_socket',
})
res.socket.server.io = io
const onConnection = (socket) => {
onSocketConnection(io, socket)
}
io.on('connection', onConnection)
res.end()
}