From b418b83bd4d064d2ecef3f072bffe8615f3e0ffa Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Sun, 15 Jun 2025 21:25:03 +0200 Subject: SimplePie: Fix propagation of HTTP error codes (#7670) * SimplePie: Fix propagation of HTTP error codes fix https://github.com/FreshRSS/FreshRSS/issues/7038 https://github.com/FreshRSS/simplepie/pull/36 upstream https://github.com/simplepie/simplepie/pull/905 Co-authored-by: Edgar Alvarado <15692727+pe1uca@users.noreply.github.com> --- lib/simplepie/simplepie/src/HTTP/FileClient.php | 2 +- lib/simplepie/simplepie/src/SimplePie.php | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'lib/simplepie') diff --git a/lib/simplepie/simplepie/src/HTTP/FileClient.php b/lib/simplepie/simplepie/src/HTTP/FileClient.php index 4643038e0..2b21601c8 100644 --- a/lib/simplepie/simplepie/src/HTTP/FileClient.php +++ b/lib/simplepie/simplepie/src/HTTP/FileClient.php @@ -70,7 +70,7 @@ final class FileClient implements Client } if (!$file->success) { - throw new HttpException($file->error); + throw new HttpException($file->error, $file->get_status_code()); // FreshRSS https://github.com/simplepie/simplepie/pull/905 } return $file; diff --git a/lib/simplepie/simplepie/src/SimplePie.php b/lib/simplepie/simplepie/src/SimplePie.php index 73d4ed7bd..89f7624f8 100644 --- a/lib/simplepie/simplepie/src/SimplePie.php +++ b/lib/simplepie/simplepie/src/SimplePie.php @@ -1999,7 +1999,7 @@ class SimplePie $this->status_code = $file->get_status_code(); } catch (HttpException $th) { $this->check_modified = false; - $this->status_code = 0; + $this->status_code = $th->getCode(); // FreshRSS https://github.com/simplepie/simplepie/pull/905 if ($this->force_cache_fallback) { $this->data['cache_expiration_time'] = \SimplePie\HTTP\Utils::negociate_cache_expiration_time($this->data['headers'] ?? [], $this->cache_duration, $this->cache_duration_min, $this->cache_duration_max); // FreshRSS @@ -2093,6 +2093,7 @@ class SimplePie } catch (HttpException $th) { // If the file connection has an error, set SimplePie::error to that and quit $this->error = $th->getMessage(); + $this->status_code = $th->getCode(); // FreshRSS https://github.com/simplepie/simplepie/pull/905 return !empty($this->data); } -- cgit v1.2.3