]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/ParseUrl.php
Several performance improvements
[friendica.git] / src / Module / ParseUrl.php
index 7138238d85965b9815196c0e5ae8aee86f8d9029..91d09240b7e6d39e5b530f3c28fc10643ba17915 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2020, Friendica
+ * @copyright Copyright (C) 2010-2022, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
@@ -31,7 +31,7 @@ use Friendica\Util;
 
 class ParseUrl extends BaseModule
 {
-       public static function rawContent(array $parameters = [])
+       protected function rawContent(array $request = [])
        {
                if (!Session::isAuthenticated()) {
                        throw new \Friendica\Network\HTTPException\ForbiddenException();
@@ -88,16 +88,15 @@ class ParseUrl extends BaseModule
                        if ($format == 'json') {
                                System::jsonExit($arr['text']);
                        } else {
-                               echo $arr['text'];
-                               exit();
+                               System::httpExit($arr['text']);
                        }
                }
 
                if ($format == 'json') {
-                       $type = Util\ParseUrl::getContentType($url);
+                       $siteinfo = Util\ParseUrl::getSiteinfoCached($url);
 
-                       if (in_array($type, ['image', 'video', 'audio'])) {
-                               switch ($type) {
+                       if (in_array($siteinfo['type'], ['image', 'video', 'audio'])) {
+                               switch ($siteinfo['type']) {
                                        case 'video':
                                                $content_type = 'video';
                                                break;
@@ -113,8 +112,6 @@ class ParseUrl extends BaseModule
                                $ret['data'] = ['url' => $url];
                                $ret['success'] = true;
                        } else {
-                               $siteinfo = Util\ParseUrl::getSiteinfoCached($url);
-
                                unset($siteinfo['keywords']);
 
                                $ret['data'] = $siteinfo;
@@ -124,8 +121,7 @@ class ParseUrl extends BaseModule
 
                        System::jsonExit($ret);
                } else {
-                       echo BBCode::embedURL($url, empty($_GET['noAttachment']), $title, $description, $_GET['tags'] ?? '');
-                       exit();
+                       System::httpExit(BBCode::embedURL($url, empty($_GET['noAttachment']), $title, $description, $_GET['tags'] ?? ''));
                }
        }
 }