From f49d1c6a7b938c012a82e85d964cb1613a4e2319 Mon Sep 17 00:00:00 2001 From: Sebastian Serth Date: Wed, 20 Sep 2023 23:19:48 +0200 Subject: [PATCH] Catch EOFError when sending LTI scores Fixes CODEOCEAN-VN Fixes CODEOCEAN-VP --- app/controllers/concerns/lti.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/concerns/lti.rb b/app/controllers/concerns/lti.rb index ea1443c6..53066ae0 100644 --- a/app/controllers/concerns/lti.rb +++ b/app/controllers/concerns/lti.rb @@ -158,7 +158,7 @@ module Lti begin response = provider.post_replace_result!(normalized_lti_score) {code: response.response_code, message: response.post_response.body, status: response.code_major, score_sent: normalized_lti_score, user: user.displayname} - rescue IMS::LTI::XMLParseError, Net::OpenTimeout, Net::ReadTimeout, Errno::ECONNRESET, SocketError + rescue IMS::LTI::XMLParseError, Net::OpenTimeout, Net::ReadTimeout, Errno::ECONNRESET, SocketError, EOFError # A parsing error might happen if the LTI provider is down and doesn't return a valid XML response {status: 'error', user: user.displayname} end