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