From 8158d60d307d348095f16933b91ba769938aaa61 Mon Sep 17 00:00:00 2001 From: Ralf Teusner Date: Wed, 1 Jun 2016 11:30:42 +0200 Subject: [PATCH] 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). --- app/controllers/submissions_controller.rb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/controllers/submissions_controller.rb b/app/controllers/submissions_controller.rb index 1fec0b1b..4f9d6a5b 100644 --- a/app/controllers/submissions_controller.rb +++ b/app/controllers/submissions_controller.rb @@ -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"))