Fix exception when TCP connection drops abruptly

This commit is contained in:
Zaid Abdulla committed 2017-09-16 22:35:46 -07:00
1 parent ed3239e4db
commit 73295729c8
2 files changed
+5 -11

No files matched your search

+2 -3
View File
@@ -67,12 +67,13 @@ writeResponse = (sessionContext, res) ->
res.headers['Content-Length'] = data.length
sessionContext.httpResponse.writeHead(res.code, res.headers)
sessionContext.httpResponse.end(data)
delete sessionContext.httpRequest
delete sessionContext.httpResponse
)
else
res.headers['Content-Length'] = res.data.length
sessionContext.httpResponse.writeHead(res.code, res.headers)
sessionContext.httpResponse.end(res.data)
delete sessionContext.httpRequest
delete sessionContext.httpResponse
@@ -608,8 +609,6 @@ onConnection = (socket) ->
socket.on('close', () ->
sessions = currentSessions.get(socket)
for sessionId, sessionContext of sessions
delete sessionContext.httpRequest
delete sessionContext.httpResponse
session.serialize(sessionContext, (err, sessionContextString) ->
return throwError(err) if err
# TODO don't set if process is shutting down
+3 -8
View File
@@ -1599,20 +1599,15 @@ serialize = (sessionContext, callback) ->
deviceData.push(e)
oldDeviceData = sessionContext.deviceData
oldSyncState = sessionContext.syncState
oldToLoad = sessionContext.toLoad
sessionContext = Object.assign({}, sessionContext)
sessionContext.deviceData = deviceData
delete sessionContext.syncState
delete sessionContext.toLoad
delete sessionContext.httpRequest
delete sessionContext.httpResponse
sessionContextString = JSON.stringify(sessionContext)
sessionContext.deviceData = oldDeviceData
sessionContext.syncState = oldSyncState
sessionContext.toLoad = oldToLoad
return callback(null, sessionContextString)