mirror of
https://github.com/moodle/moodle.git
synced 2025-04-21 00:12:56 +02:00
MDL-73826 mod_lti: Fix for Windows/PHP8 with empty curl responses
Sometimes (detected with Windows, when running @ GHA), both the response and the error of a curl request to non-existing URL returns the empty string. In that case, we cannot call to DOMDocument::loadXML() because the 1st param cannot be empty. So here, whenever that happens, we are throwing the moodle_exception earlier, instead of waiting for the XML errors to be processed later.
This commit is contained in:
parent
d24a4ab56f
commit
64969e82d7
@ -4463,6 +4463,13 @@ function lti_load_cartridge($url, $map, $propertiesmap = array()) {
|
||||
$curl = new curl();
|
||||
$response = $curl->get($url);
|
||||
|
||||
// Got a completely empty response (real or error), cannot process this with
|
||||
// DOMDocument::loadXML() because it errors with ValueError. So let's throw
|
||||
// the moodle_exception before waiting to examine the errors later.
|
||||
if (trim($response) === '') {
|
||||
throw new moodle_exception('errorreadingfile', '', '', $url);
|
||||
}
|
||||
|
||||
// TODO MDL-46023 Replace this code with a call to the new library.
|
||||
$origerrors = libxml_use_internal_errors(true);
|
||||
$origentity = lti_libxml_disable_entity_loader(true);
|
||||
|
Loading…
x
Reference in New Issue
Block a user