1- const ws = require ( "ws" )
2- const http = require ( "http" )
3- const { v4 : uuidv4 } = require ( "uuid" )
41const express = require ( "express" )
2+ const wss = require ( "./wss" )
53
64const { logger } = require ( "./utils/logger" )
75const { ENV } = require ( "./env" )
86const fs = require ( "fs" )
97
108const router = express . Router ( )
11- const server = http . createServer ( router )
12- const wss = new ws . Server ( { server } )
13-
14- const clients = { }
159
1610const CONFIG = JSON . parse ( fs . readFileSync ( ENV . configPath , "utf8" ) )
1711
@@ -187,7 +181,7 @@ async function startProcessing(req, res) {
187181 return res . json ( { error : true , message : "No route for hostname" } )
188182 }
189183
190- const requestId = uuidv4 ( )
184+ const requestId = wss . createRequestId ( )
191185
192186 res . json ( { error : false , message : "Start request received" , requestId } )
193187
@@ -237,7 +231,7 @@ async function startProcessing(req, res) {
237231 }
238232 }
239233
240- const ws = clients [ requestId ]
234+ const ws = wss . getClient ( requestId )
241235
242236 if ( ws && ws . readyState === WebSocket . OPEN ) {
243237 ws . send (
@@ -252,23 +246,6 @@ async function startProcessing(req, res) {
252246 }
253247}
254248
255- wss . on ( "connection" , ( ws , req ) => {
256- const url = new URL ( req . url )
257- const requestId = url . searchParams . get ( "requestId" )
258-
259- if ( ! requestId ) {
260- ws . send ( JSON . stringify ( { error : "Missing requestId" } ) )
261- ws . close ( )
262- return
263- }
264-
265- clients [ requestId ] = ws
266-
267- ws . on ( "close" , ( ) => {
268- delete clients [ requestId ]
269- } )
270- } )
271-
272- router . get ( "/start" , async ( res , req ) => await startProcessing ( req , res ) )
249+ router . get ( "/start" , async ( req , res ) => await startProcessing ( req , res ) )
273250
274251module . exports = router
0 commit comments