]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/Proxy.php
Use DI::baseUrl() for Search\Index.php
[friendica.git] / src / Module / Proxy.php
index 75a1142af6221331ce4715d3a87c7f8988a7c44f..ed7cabfefb26b1926aee2a60c444fc135bfac85b 100644 (file)
@@ -8,6 +8,8 @@ namespace Friendica\Module;
 use Friendica\BaseModule;
 use Friendica\Core\L10n;
 use Friendica\Core\System;
+use Friendica\Core\Logger;
+use Friendica\DI;
 use Friendica\Model\Photo;
 use Friendica\Object\Image;
 use Friendica\Util\HTTPSignature;
@@ -29,10 +31,10 @@ class Proxy extends BaseModule
         * Sets application instance and checks if /proxy/ path is writable.
         *
         */
-       public static function init()
+       public static function init(array $parameters = [])
        {
                // Set application instance here
-               $a = self::getApp();
+               $a = DI::app();
 
                /*
                 * Pictures are stored in one of the following ways:
@@ -92,7 +94,8 @@ class Proxy extends BaseModule
                $img_str = $fetchResult->getBody();
 
                // If there is an error then return a blank image
-               if ((substr($fetchResult->getReturnCode(), 0, 1) == '4') || (!$img_str)) {
+               if ((substr($fetchResult->getReturnCode(), 0, 1) == '4') || empty($img_str)) {
+                       Logger::info('Error fetching image', ['image' => $request['url'], 'return' => $fetchResult->getReturnCode(), 'empty' => empty($img_str)]);
                        self::responseError();
                        // stop.
                }
@@ -104,6 +107,7 @@ class Proxy extends BaseModule
 
                $image = new Image($img_str, $mime);
                if (!$image->isValid()) {
+                       Logger::info('The image is invalid', ['image' => $request['url'], 'mime' => $mime]);
                        self::responseError();
                        // stop.
                }
@@ -153,7 +157,7 @@ class Proxy extends BaseModule
         */
        private static function getRequestInfo()
        {
-               $a = self::getApp();
+               $a = DI::app();
                $size = 1024;
                $sizetype = '';
 
@@ -207,7 +211,7 @@ class Proxy extends BaseModule
                        $url = base64_decode(strtr($url, '-_', '+/'), true);
 
                } else {
-                       $url = defaults($_REQUEST, 'url', '');
+                       $url = $_REQUEST['url'] ?? '';
                }
 
                return [
@@ -227,7 +231,7 @@ class Proxy extends BaseModule
         */
        private static function setupDirectCache()
        {
-               $a = self::getApp();
+               $a = DI::app();
                $basepath = $a->getBasePath();
 
                // If the cache path isn't there, try to create it
@@ -287,14 +291,13 @@ class Proxy extends BaseModule
        }
 
        /**
-        * @brief Output a blank image, without cache headers, in case of errors
+        * In case of an error just stop. We don't return content to avoid caching problems
         *
+        * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
        private static function responseError()
        {
-               header('Content-type: image/png');
-               echo file_get_contents('images/blank.png');
-               exit();
+               throw new \Friendica\Network\HTTPException\InternalServerErrorException();
        }
 
        /**
@@ -306,6 +309,7 @@ class Proxy extends BaseModule
        private static function responseImageHttpCache(Image $img)
        {
                if (is_null($img) || !$img->isValid()) {
+                       Logger::info('The cached image is invalid');
                        self::responseError();
                        // stop.
                }