Fix exception when TCP connection drops abruptly
This commit is contained in:
1 parent
ed3239e4db
commit
73295729c8
2 files changed
+5
-11
No files matched your search
+2
-3
@@ -67,12 +67,13 @@ writeResponse = (sessionContext, res) ->
|
|||||||
res.headers['Content-Length'] = data.length
|
res.headers['Content-Length'] = data.length
|
||||||
sessionContext.httpResponse.writeHead(res.code, res.headers)
|
sessionContext.httpResponse.writeHead(res.code, res.headers)
|
||||||
sessionContext.httpResponse.end(data)
|
sessionContext.httpResponse.end(data)
|
||||||
|
delete sessionContext.httpRequest
|
||||||
|
delete sessionContext.httpResponse
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
res.headers['Content-Length'] = res.data.length
|
res.headers['Content-Length'] = res.data.length
|
||||||
sessionContext.httpResponse.writeHead(res.code, res.headers)
|
sessionContext.httpResponse.writeHead(res.code, res.headers)
|
||||||
sessionContext.httpResponse.end(res.data)
|
sessionContext.httpResponse.end(res.data)
|
||||||
|
|
||||||
delete sessionContext.httpRequest
|
delete sessionContext.httpRequest
|
||||||
delete sessionContext.httpResponse
|
delete sessionContext.httpResponse
|
||||||
|
|
||||||
@@ -608,8 +609,6 @@ onConnection = (socket) ->
|
|||||||
socket.on('close', () ->
|
socket.on('close', () ->
|
||||||
sessions = currentSessions.get(socket)
|
sessions = currentSessions.get(socket)
|
||||||
for sessionId, sessionContext of sessions
|
for sessionId, sessionContext of sessions
|
||||||
delete sessionContext.httpRequest
|
|
||||||
delete sessionContext.httpResponse
|
|
||||||
session.serialize(sessionContext, (err, sessionContextString) ->
|
session.serialize(sessionContext, (err, sessionContextString) ->
|
||||||
return throwError(err) if err
|
return throwError(err) if err
|
||||||
# TODO don't set if process is shutting down
|
# TODO don't set if process is shutting down
|
||||||
|
|||||||
+3
-8
@@ -1599,20 +1599,15 @@ serialize = (sessionContext, callback) ->
|
|||||||
|
|
||||||
deviceData.push(e)
|
deviceData.push(e)
|
||||||
|
|
||||||
oldDeviceData = sessionContext.deviceData
|
sessionContext = Object.assign({}, sessionContext)
|
||||||
oldSyncState = sessionContext.syncState
|
|
||||||
oldToLoad = sessionContext.toLoad
|
|
||||||
|
|
||||||
sessionContext.deviceData = deviceData
|
sessionContext.deviceData = deviceData
|
||||||
delete sessionContext.syncState
|
delete sessionContext.syncState
|
||||||
delete sessionContext.toLoad
|
delete sessionContext.toLoad
|
||||||
|
delete sessionContext.httpRequest
|
||||||
|
delete sessionContext.httpResponse
|
||||||
|
|
||||||
sessionContextString = JSON.stringify(sessionContext)
|
sessionContextString = JSON.stringify(sessionContext)
|
||||||
|
|
||||||
sessionContext.deviceData = oldDeviceData
|
|
||||||
sessionContext.syncState = oldSyncState
|
|
||||||
sessionContext.toLoad = oldToLoad
|
|
||||||
|
|
||||||
return callback(null, sessionContextString)
|
return callback(null, sessionContextString)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user