]> git.mxchange.org Git - friendica.git/blobdiff - src/Core/System.php
Don't cache local avatars
[friendica.git] / src / Core / System.php
index 44512390617e53008b859e1f229b159c7abf566a..de0c80b3de7f96530bdbf59ae34214f2305745db 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2010-2021, the Friendica project
+ * @copyright Copyright (C) 2010-2022, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
 
 namespace Friendica\Core;
 
-use Exception;
-use Friendica\App;
 use Friendica\Core\Config\Capability\IManageConfigValues;
 use Friendica\DI;
+use Friendica\Module\Response;
 use Friendica\Network\HTTPException\FoundException;
 use Friendica\Network\HTTPException\MovedPermanentlyException;
 use Friendica\Network\HTTPException\TemporaryRedirectException;
@@ -292,11 +291,9 @@ class System
                        Logger::notice('xml_status returning non_zero: ' . $st . " message=" . $message);
                }
 
-               header("Content-type: text/xml");
-
-               $xmldata = ["result" => $result];
-
-               echo XML::fromArray($xmldata, $xml);
+               DI::apiResponse()->setType(Response::TYPE_XML);
+               DI::apiResponse()->addContent(XML::fromArray(["result" => $result], $xml));
+               DI::page()->exit(DI::apiResponse()->generate());
 
                exit();
        }
@@ -312,11 +309,11 @@ class System
        public static function httpExit($val, $message = '', $content = '')
        {
                if ($val >= 400) {
-                       Logger::debug('Exit with error', ['code' => $val, 'message' => $message, 'callstack' => System::callstack(20), 'method' => $_SERVER['REQUEST_METHOD'], 'agent' => $_SERVER['HTTP_USER_AGENT'] ?? '']);
+                       Logger::debug('Exit with error', ['code' => $val, 'message' => $message, 'callstack' => System::callstack(20), 'method' => DI::args()->getMethod(), 'agent' => $_SERVER['HTTP_USER_AGENT'] ?? '']);
                }
-               header($_SERVER["SERVER_PROTOCOL"] . ' ' . $val . ' ' . $message);
-
-               echo $content;
+               DI::apiResponse()->setStatus($val, $message);
+               DI::apiResponse()->addContent($content);
+               DI::page()->exit(DI::apiResponse()->generate());
 
                exit();
        }
@@ -324,9 +321,9 @@ class System
        public static function jsonError($httpCode, $data, $content_type = 'application/json')
        {
                if ($httpCode >= 400) {
-                       Logger::debug('Exit with error', ['code' => $httpCode, 'content_type' => $content_type, 'callstack' => System::callstack(20), 'method' => $_SERVER['REQUEST_METHOD'], 'agent' => $_SERVER['HTTP_USER_AGENT'] ?? '']);
+                       Logger::debug('Exit with error', ['code' => $httpCode, 'content_type' => $content_type, 'callstack' => System::callstack(20), 'method' => DI::args()->getMethod(), 'agent' => $_SERVER['HTTP_USER_AGENT'] ?? '']);
                }
-               header($_SERVER["SERVER_PROTOCOL"] . ' ' . $httpCode);
+               DI::apiResponse()->setStatus($httpCode);
                self::jsonExit($data, $content_type);
        }
 
@@ -342,8 +339,9 @@ class System
         * @param integer $options JSON options
         */
        public static function jsonExit($x, $content_type = 'application/json', int $options = 0) {
-               header("Content-type: $content_type");
-               echo json_encode($x, $options);
+               DI::apiResponse()->setType(Response::TYPE_JSON, $content_type);
+               DI::apiResponse()->addContent(json_encode($x, $options));
+               DI::page()->exit(DI::apiResponse()->generate());
                exit();
        }
 
@@ -499,7 +497,7 @@ class System
         */
        public static function htmlUpdateExit($o)
        {
-               header("Content-type: text/html");
+               DI::apiResponse()->setType(Response::TYPE_HTML);
                echo "<!DOCTYPE html><html><body>\r\n";
                // We can remove this hack once Internet Explorer recognises HTML5 natively
                echo "<section>";