also write "parsable json" to the frontend console if it does not have a valid command set (solves the issue when just printing an array in java, it is not shown anywhere).

This commit is contained in:
Ralf Teusner
2016-06-01 11:30:42 +02:00
parent b6cd797772
commit 8158d60d30

View File

@ -174,8 +174,14 @@ class SubmissionsController < ApplicationController
def parse_message(message, output_stream, socket, recursive = true)
begin
parsed = JSON.parse(message)
socket.send_data message
Rails.logger.info('parse_message sent: ' + message)
if(parsed.class == Hash && parsed.key?('cmd'))
socket.send_data message
Rails.logger.info('parse_message sent: ' + message)
else
parsed = {'cmd'=>'write','stream'=>output_stream,'data'=>message}
socket.send_data JSON.dump(parsed)
Rails.logger.info('parse_message sent: ' + JSON.dump(parsed))
end
rescue JSON::ParserError => e
# Check wether the message contains multiple lines, if true try to parse each line
if ((recursive == true) && (message.include? "\n"))