From 1df4685f38b6386db99ae8ab0bd4ab162ca15d73 Mon Sep 17 00:00:00 2001 From: Sebastian Serth Date: Tue, 24 Nov 2020 00:21:39 +0100 Subject: [PATCH] Enable buffering for Turtle Commands in WebSocket output --- app/controllers/submissions_controller.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/controllers/submissions_controller.rb b/app/controllers/submissions_controller.rb index 66b7f6b6..fed8e067 100644 --- a/app/controllers/submissions_controller.rb +++ b/app/controllers/submissions_controller.rb @@ -278,19 +278,24 @@ class SubmissionsController < ApplicationController for part in message.split("\n") self.parse_message(part,output_stream,socket, container, false) end - elsif message.include? '' + elsif @buffering and message.include?('/>') @buffer += message parsed = {'cmd'=>'write','stream'=>output_stream,'data'=>@buffer} socket.send_data JSON.dump(parsed) #socket.send_data @buffer @buffering = false #Rails.logger.info('Sent complete buffer') + elsif @buffering and message.end_with?("}\r") + @buffer += message + socket.send_data @buffer + @buffering = false + #Rails.logger.info('Sent complete buffer') elsif @buffering @buffer += message #Rails.logger.info('Appending to buffer')