summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfox <[email protected]>2022-08-15 07:27:23 +0300
committerfox <[email protected]>2022-08-15 07:27:23 +0300
commit3b7174788db7eecb34a7baa77ae76fc297eb49c8 (patch)
tree2eb8e69fbeb9454f51ceb0159965c674361b0985
parented2cbeffcc456a86726b52d37c977a35b895968c (diff)
parent830a20debf5f26fdd6f4c754a76498a19ead7d0d (diff)
Merge pull request 'Handle no response body, file_get_contents() failure in UrlHelper::fetch()' (#78) from wn/tt-rss:feature/handle-no-response-body into master
Reviewed-on: https://dev.tt-rss.org/fox/tt-rss/pulls/78
-rw-r--r--classes/urlhelper.php16
1 files changed, 15 insertions, 1 deletions
diff --git a/classes/urlhelper.php b/classes/urlhelper.php
index bb51f5d06..cdaa6cc87 100644
--- a/classes/urlhelper.php
+++ b/classes/urlhelper.php
@@ -462,7 +462,11 @@ class UrlHelper {
}
if (!$contents) {
- self::$fetch_last_error = curl_errno($ch) . " " . curl_error($ch);
+ if (curl_errno($ch) === 0) {
+ self::$fetch_last_error = 'Successful response, but no content was received.';
+ } else {
+ self::$fetch_last_error = curl_errno($ch) . " " . curl_error($ch);
+ }
curl_close($ch);
return false;
}
@@ -543,6 +547,11 @@ class UrlHelper {
$data = @file_get_contents($url, false, $context);
+ if ($data === false) {
+ self::$fetch_last_error = "'file_get_contents' failed.";
+ return false;
+ }
+
foreach ($http_response_header as $header) {
if (strstr($header, ": ") !== false) {
list ($key, $value) = explode(": ", $header);
@@ -578,6 +587,11 @@ class UrlHelper {
return false;
}
+ if (!$data) {
+ self::$fetch_last_error = 'Successful response, but no content was received.';
+ return false;
+ }
+
$is_gzipped = RSSUtils::is_gzipped($data);
if ($is_gzipped && $data) {