Catch EOFError when sending LTI scores

Fixes CODEOCEAN-VN
Fixes CODEOCEAN-VP
This commit is contained in:
Sebastian Serth
2023-09-20 23:19:48 +02:00
parent 03637b3185
commit f49d1c6a7b

View File

@ -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