Skip to content
Snippets Groups Projects
Commit 8af21cf0 authored by Dominik Hebeler's avatar Dominik Hebeler
Browse files

checking if answer is well formed

parent 251dba34
No related branches found
No related tags found
No related merge requests found
......@@ -132,21 +132,23 @@ class ProxyController extends Controller
}
}
foreach ($answer["headers"] as $index => $value) {
if (strtolower($index) === "location") {
$redLink = $value;
if (strpos($redLink, "/") === 0) {
$parse = parse_url($targetUrl);
$redLink = $parse["scheme"] . "://" . $parse["host"] . $redLink;
} elseif (preg_match("/^\w+\.\w+$/si", $redLink)) {
$parse = parse_url($targetUrl);
$redLink = $parse["scheme"] . "://" . $parse["host"] . "/" . $redLink;
if (array_key_exists("headers", $answer)) {
foreach ($answer["headers"] as $index => $value) {
if (strtolower($index) === "location") {
$redLink = $value;
if (strpos($redLink, "/") === 0) {
$parse = parse_url($targetUrl);
$redLink = $parse["scheme"] . "://" . $parse["host"] . $redLink;
} elseif (preg_match("/^\w+\.\w+$/si", $redLink)) {
$parse = parse_url($targetUrl);
$redLink = $parse["scheme"] . "://" . $parse["host"] . "/" . $redLink;
}
return redirect(self::generateProxyWrapperUrl($redLink));
} elseif (strtolower($index) === "content-disposition" && stripos($value, "inline") !== 0) {
return response(base64_decode($answer["body"]), $answer["http-code"], $answer["headers"]);
} else {
$headerArray[trim($index)] = trim($value);
}
return redirect(self::generateProxyWrapperUrl($redLink));
} elseif (strtolower($index) === "content-disposition" && stripos($value, "inline") !== 0) {
return response(base64_decode($answer["body"]), $answer["http-code"], $answer["headers"]);
} else {
$headerArray[trim($index)] = trim($value);
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment