diff options
| author | 2025-11-27 23:31:03 +0100 | |
|---|---|---|
| committer | 2025-11-27 23:31:03 +0100 | |
| commit | 76f5bee76d4640169d9a506b5b107f787797879c (patch) | |
| tree | 60bc247ac1d79a4f4f712675b20dab6ad972597b /app/Models/SimplePieResponse.php | |
| parent | 5e0093aa00a6b52df88f526a5b6f737eff057e0b (diff) | |
Better merging of custom HTTP headers (#8251)
Alternative to https://github.com/FreshRSS/FreshRSS/pull/8246
See https://github.com/FreshRSS/FreshRSS/issues/8189#issuecomment-3569434305
Diffstat (limited to 'app/Models/SimplePieResponse.php')
| -rw-r--r-- | app/Models/SimplePieResponse.php | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/app/Models/SimplePieResponse.php b/app/Models/SimplePieResponse.php deleted file mode 100644 index 42625ccf3..000000000 --- a/app/Models/SimplePieResponse.php +++ /dev/null @@ -1,34 +0,0 @@ -<?php -declare(strict_types=1); - -final class FreshRSS_SimplePieResponse extends \SimplePie\File -{ - #[\Override] - protected function on_http_response($response, array $curl_options = []): void { - if (FreshRSS_Context::systemConf()->simplepie_syslog_enabled) { - syslog(LOG_INFO, 'FreshRSS SimplePie GET ' . $this->get_status_code() . ' ' . \SimplePie\Misc::url_remove_credentials($this->get_final_requested_uri())); - } - - if (in_array($this->get_status_code(), [429, 503], true)) { - $parser = new \SimplePie\HTTP\Parser(is_string($response) ? $response : ''); - if ($parser->parse()) { - $headers = $parser->headers; - } else { - $headers = []; - } - - $proxy = is_string($curl_options[CURLOPT_PROXY] ?? null) ? $curl_options[CURLOPT_PROXY] : ''; - $retryAfter = FreshRSS_http_Util::setRetryAfter($this->get_final_requested_uri(), $proxy, $headers['retry-after'] ?? ''); - if ($retryAfter > 0) { - $domain = parse_url($this->get_final_requested_uri(), PHP_URL_HOST); - if (is_string($domain) && $domain !== '') { - if (is_int($port = parse_url($this->get_final_requested_uri(), PHP_URL_PORT))) { - $domain .= ':' . $port; - } - $errorMessage = 'Will retry after ' . date('c', $retryAfter) . ' for domain `' . $domain . '`'; - Minz_Log::notice($errorMessage); - } - } - } - } -} |
