From fde6e1ecbd77262a214455db6836666ed265bbd9 Mon Sep 17 00:00:00 2001 From: Dominik Hebeler <dominik@suma-ev.de> Date: Tue, 3 Sep 2019 16:50:43 +0200 Subject: [PATCH] Fixed an error where a Location header redirect was not properly detected --- app/Http/Controllers/ProxyController.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/Http/Controllers/ProxyController.php b/app/Http/Controllers/ProxyController.php index b822f11..f234207 100644 --- a/app/Http/Controllers/ProxyController.php +++ b/app/Http/Controllers/ProxyController.php @@ -330,10 +330,15 @@ class ProxyController extends Controller $headerArray[strtolower(trim($ar[0]))] = strtolower(trim($ar[1])); } elseif (strtolower($ar[0]) === "location") { $redLink = $ar[1]; + if (strpos($redLink, "/") === 0) { $parse = parse_url($url); $redLink = $parse["scheme"] . "://" . $parse["host"] . $redLink; + } else if (preg_match("/\w+\.\w+/si", $redLink)) { + $parse = parse_url($url); + $redLink = $parse["scheme"] . "://" . $parse["host"] . "/" . $redLink; } + $headerArray[trim($ar[0])] = $this->proxifyUrl($redLink, null, false); } elseif (strtolower($ar[0]) === "content-disposition") { $headerArray[strtolower(trim($ar[0]))] = strtolower(trim($ar[1])); -- GitLab