Expired (login) session causes websocket plugin to throw errors
When a login has expired (due to inactivity) but a page is still open and attempts to reconnect the websocket, it raises errors:
2017-01-20 12:00:48,724 - vispa.tools.user - DEBUG - Redirect /vispa/login
2017-01-20 12:00:48,731 - cherrypy.error - ERROR - [20/Jan/2017:12:00:48] ENGINE Error in 'handle-websocket' listener <bound method WebSocketPlugin.handle of <ws4py.server.cherrypyserver.WebSocketPlugin object at 0x7f67a2f775d0>>
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/cherrypy/process/wspbus.py", line 205, in publish
output.append(listener(*args, **kwargs))
File "/usr/local/lib/python2.7/dist-packages/ws4py/server/cherrypyserver.py", line 304, in handle
self.manager.add(ws_handler)
File "/usr/local/lib/python2.7/dist-packages/ws4py/manager.py", line 243, in add
logger.info("Managing websocket %s" % format_addresses(websocket))
File "/usr/local/lib/python2.7/dist-packages/ws4py/__init__.py", line 60, in format_addresses
peer = ws.peer_address
File "/usr/local/lib/python2.7/dist-packages/ws4py/websocket.py", line 148, in peer_address
self._peer_address = self.sock.getpeername()
error: [Errno 107] Transport endpoint is not connected
2017-01-20 12:00:48,731 - cherrypy.error.140083092486544 - ERROR - [20/Jan/2017:12:00:48] Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 104, in run
hook()
File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 63, in __call__
return self.callback(**self.kwargs)
File "/usr/local/lib/python2.7/dist-packages/ws4py/server/cherrypyserver.py", line 245, in start_handler
cherrypy.engine.publish('handle-websocket', ws_handler, addr)
File "/usr/lib/python2.7/dist-packages/cherrypy/process/wspbus.py", line 223, in publish
raise exc
ChannelFailures: error(107, 'Transport endpoint is not connected')
2017-01-20 12:00:48,732 - cherrypy.error.140083092486544 - ERROR - [20/Jan/2017:12:00:48] Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/cherrypy/_cptree.py", line 144, in release_serving
req.close()
File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 506, in close
self.hooks.run('on_end_request')
File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 114, in run
raise exc
ChannelFailures: error(107, 'Transport endpoint is not connected')
(from redmine: issue id 2449, created on 2017-01-20 by benjamin.fischer)