# File lib/em-websocket/connection.rb, line 67 def receive_data(data) debug [:receive_data, data] if @handler @handler.receive_data(data) else dispatch(data) end rescue HandshakeError => e debug [:error, e] trigger_on_error(e) # Errors during the handshake require the connection to be aborted abort rescue WSProtocolError => e debug [:error, e] trigger_on_error(e) close_websocket_private(e.code) rescue => e debug [:error, e] # These are application errors - raise unless onerror defined trigger_on_error(e) || raise(e) # There is no code defined for application errors, so use 3000 # (which is reserved for frameworks) close_websocket_private(3000) end