Skip to content
Snippets Groups Projects
Commit 3bfa05e0 authored by bgm's avatar bgm
Browse files

Merge branch 'issue12' into 'master'

Fixes #12: do not save empty files if the http request failed

Closes #12

See merge request !4
parents 0ad465df 1db12139
No related branches found
No related tags found
1 merge request!4Fixes #12: do not save empty files if the http request failed
Pipeline #2014 passed
......@@ -139,16 +139,40 @@ class CRM_Uplang_Utils {
}
$client = new GuzzleHttp\Client();
$response = $client->request('GET', $remoteURL, ['sink' => $localFile, 'timeout' => 5, 'http_errors' => FALSE]);
try {
$response = $client->request('GET', $remoteURL, ['sink' => $localFile, 'timeout' => 5]);
}
catch (\GuzzleHttp\Exception\ClientException $e) {
// issue#12 sink will sometimes save a text file with the error
unlink($localFile);
// Log an appropriate error that might help debugging
if ($e->hasResponse()) {
if ($e->getResponse()->getStatusCode() == 404) {
// 404 is normal for non-reviewed extensions
\Civi::log()->info('Update Language: Guzzle error ' . $e->getResponse()->getStatusCode() . ': ' . $e->getResponse()->getReasonPhrase() . ' on URL: ' . $remoteURL);
}
else {
\Civi::log()->error('Update Language: Guzzle error ' . $e->getResponse()->getStatusCode() . ': ' . $e->getResponse()->getReasonPhrase() . ' on URL: ' . $remoteURL);
}
}
else {
\Civi::log()->error('Update Language: Guzzle unknown error: ' . $e->getMessage() . ' on URL: ' . $remoteURL);
}
return FALSE;
}
if ($response->getStatusCode() !== 200) {
\Civi::log()->warning($response->getStatusCode() . ': ' . $response->getReasonPhrase() . ': ' . $remoteURL);
\Civi::log()->error('Update Language: Guzzle unknown error: ' . $e->getStatusCode() . ' on URL: ' . $remoteURL);
return FALSE;
}
if (($response->getStatusCode() === 200) && file_exists($localFile)) {
return TRUE;
if (!file_exists($localFile)) {
\Civi::log()->error('Update Language: download was succesful but the local file was not found: ' . $localFile);
return FALSE;
}
return FALSE;
return TRUE;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment