@@ -208,14 +208,9 @@ async function createWebSocketConnection(
208
208
timestamp : Date . now ( ) ,
209
209
} ;
210
210
211
- eventLogFileStreams . get ( options . requestId ) ?. write ( JSON . stringify ( closeEvent ) + '\n' ) ;
212
- eventLogFileStreams . get ( options . requestId ) ?. end ( ) ;
213
- eventLogFileStreams . delete ( options . requestId ) ;
214
- timelineFileStreams . get ( options . requestId ) ?. write ( JSON . stringify ( { value : `Closing connection with code ${ code } ` , name : 'Text' , timestamp : Date . now ( ) } ) + '\n' ) ;
215
- timelineFileStreams . get ( options . requestId ) ?. end ( ) ;
216
- timelineFileStreams . delete ( options . requestId ) ;
217
211
sendQueueMap . delete ( eventChannel ) ;
218
- WebSocketConnections . delete ( options . requestId ) ;
212
+ const message = `Closing connection with code ${ code } ` ;
213
+ closeRequest ( request . _id , message , closeEvent ) ;
219
214
220
215
dispatchWebSocketEvent ( event . sender , eventChannel , closeEvent ) ;
221
216
event . sender . send ( readyStateChannel , ws . readyState ) ;
@@ -233,13 +228,7 @@ async function createWebSocketConnection(
233
228
timestamp : Date . now ( ) ,
234
229
} ;
235
230
236
- eventLogFileStreams . get ( options . requestId ) ?. write ( JSON . stringify ( errorEvent ) + '\n' ) ;
237
- eventLogFileStreams . get ( options . requestId ) ?. end ( ) ;
238
- eventLogFileStreams . delete ( options . requestId ) ;
239
- timelineFileStreams . get ( options . requestId ) ?. write ( JSON . stringify ( { value : message , name : 'Text' , timestamp : Date . now ( ) } ) + '\n' ) ;
240
- timelineFileStreams . get ( options . requestId ) ?. end ( ) ;
241
- timelineFileStreams . delete ( options . requestId ) ;
242
- WebSocketConnections . delete ( options . requestId ) ;
231
+ closeRequest ( request . _id , message , errorEvent ) ;
243
232
244
233
dispatchWebSocketEvent ( event . sender , eventChannel , errorEvent ) ;
245
234
event . sender . send ( readyStateChannel , ws . readyState ) ;
@@ -259,12 +248,7 @@ async function createWebSocketConnection(
259
248
console . error ( 'unhandled error:' , e ) ;
260
249
const message = e . message || 'Something went wrong' ;
261
250
262
- eventLogFileStreams . get ( options . requestId ) ?. end ( ) ;
263
- eventLogFileStreams . delete ( options . requestId ) ;
264
- timelineFileStreams . get ( options . requestId ) ?. write ( JSON . stringify ( { value : message , name : 'Text' , timestamp : Date . now ( ) } ) + '\n' ) ;
265
- timelineFileStreams . get ( options . requestId ) ?. end ( ) ;
266
- timelineFileStreams . delete ( options . requestId ) ;
267
- WebSocketConnections . delete ( options . requestId ) ;
251
+ closeRequest ( request . _id , message ) ;
268
252
269
253
const settings = await models . settings . getOrCreate ( ) ;
270
254
const responsePatch = {
@@ -279,6 +263,18 @@ async function createWebSocketConnection(
279
263
}
280
264
}
281
265
266
+ async function closeRequest ( requestId : string , message : string , event ?: WebSocketCloseEvent | WebSocketErrorEvent , ) {
267
+ if ( event ) {
268
+ eventLogFileStreams . get ( requestId ) ?. write ( JSON . stringify ( event ) + '\n' ) ;
269
+ }
270
+ eventLogFileStreams . get ( requestId ) ?. end ( ) ;
271
+ eventLogFileStreams . delete ( requestId ) ;
272
+ timelineFileStreams . get ( requestId ) ?. write ( JSON . stringify ( { value : message , name : 'Text' , timestamp : Date . now ( ) } ) + '\n' ) ;
273
+ timelineFileStreams . get ( requestId ) ?. end ( ) ;
274
+ timelineFileStreams . delete ( requestId ) ;
275
+ WebSocketConnections . delete ( requestId ) ;
276
+ }
277
+
282
278
function getWebSocketReadyState (
283
279
_event : Electron . IpcMainInvokeEvent ,
284
280
options : { requestId : string }
0 commit comments