From 10a2ae02484672d6a0fbc6e7b943519c5ec16cb6 Mon Sep 17 00:00:00 2001
From: Yassine Doghri <yassine@doghri.fr>
Date: Mon, 1 Aug 2022 10:13:16 +0000
Subject: [PATCH] fix(router): check if Accept header is set before getting
 value

fix deprecation warnings for getHeader and getHeaders methods

refs #228
---
 app/Helpers/media_helper.php              | 2 +-
 app/Libraries/Router.php                  | 7 ++++++-
 app/Views/errors/html/error_exception.php | 4 ++--
 3 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/app/Helpers/media_helper.php b/app/Helpers/media_helper.php
index 598559cdc8..088096b414 100644
--- a/app/Helpers/media_helper.php
+++ b/app/Helpers/media_helper.php
@@ -69,7 +69,7 @@ if (! function_exists('download_file')) {
                 true,
             )
         ) {
-            $newFileUrl = trim($response->getHeader('location')->getValue());
+            $newFileUrl = trim($response->header('location')->getValue());
             $response = $client->get($newFileUrl, [
                 'headers' => [
                     'User-Agent' => 'Castopod/' . CP_VERSION,
diff --git a/app/Libraries/Router.php b/app/Libraries/Router.php
index 37ba92c9bb..c4639b25c4 100644
--- a/app/Libraries/Router.php
+++ b/app/Libraries/Router.php
@@ -110,7 +110,12 @@ class Router extends CodeIgniterRouter
                     $request = Services::request();
                     $negotiate = Services::negotiator();
 
-                    $acceptHeader = $request->getHeader('Accept')
+                    // Accept header is mandatory
+                    if ($request->header('Accept') === null) {
+                        break;
+                    }
+
+                    $acceptHeader = $request->header('Accept')
                         ->getValue();
                     $parsedHeader = $negotiate->parseHeader($acceptHeader);
 
diff --git a/app/Views/errors/html/error_exception.php b/app/Views/errors/html/error_exception.php
index 01a72cf20d..e072309828 100644
--- a/app/Views/errors/html/error_exception.php
+++ b/app/Views/errors/html/error_exception.php
@@ -272,7 +272,7 @@ $error_id = uniqid('error', true); ?>
 
 				<?php endif; ?>
 
-				<?php $headers = $request->getHeaders(); ?>
+				<?php $headers = $request->headers(); ?>
 				<?php if (! empty($headers)) : ?>
 
 					<h3>Headers</h3>
@@ -320,7 +320,7 @@ $error_id = uniqid('error', true); ?>
 					</tr>
 				</table>
 
-				<?php $headers = $response->getHeaders(); ?>
+				<?php $headers = $response->headers(); ?>
 				<?php if (! empty($headers)) : ?>
 					<?php natsort($headers) ?>
 
-- 
GitLab