# File lib/em-websocket/connection.rb, line 57 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 WebSocketError => e debug [:error, e] trigger_on_error(e) close_websocket_private(1002) # 1002 indicates a protocol error 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