Skip to content

Commit b544853

Browse files
committed
extract closeRequest
1 parent bd59d74 commit b544853

File tree

1 file changed

+16
-20
lines changed

1 file changed

+16
-20
lines changed

packages/insomnia/src/main/network/websocket.ts

+16-20
Original file line numberDiff line numberDiff line change
@@ -208,14 +208,9 @@ async function createWebSocketConnection(
208208
timestamp: Date.now(),
209209
};
210210

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);
217211
sendQueueMap.delete(eventChannel);
218-
WebSocketConnections.delete(options.requestId);
212+
const message = `Closing connection with code ${code}`;
213+
closeRequest(request._id, message, closeEvent);
219214

220215
dispatchWebSocketEvent(event.sender, eventChannel, closeEvent);
221216
event.sender.send(readyStateChannel, ws.readyState);
@@ -233,13 +228,7 @@ async function createWebSocketConnection(
233228
timestamp: Date.now(),
234229
};
235230

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);
243232

244233
dispatchWebSocketEvent(event.sender, eventChannel, errorEvent);
245234
event.sender.send(readyStateChannel, ws.readyState);
@@ -259,12 +248,7 @@ async function createWebSocketConnection(
259248
console.error('unhandled error:', e);
260249
const message = e.message || 'Something went wrong';
261250

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);
268252

269253
const settings = await models.settings.getOrCreate();
270254
const responsePatch = {
@@ -279,6 +263,18 @@ async function createWebSocketConnection(
279263
}
280264
}
281265

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+
282278
function getWebSocketReadyState(
283279
_event: Electron.IpcMainInvokeEvent,
284280
options: { requestId: string }

0 commit comments

Comments
 (0)