From 0345c50e2db5509f3913d1d15d6726bb051049da Mon Sep 17 00:00:00 2001 From: Philipp Holzer Date: Wed, 1 May 2019 18:42:44 +0200 Subject: [PATCH] refactor Nodeinfo for more strait implementation --- src/Module/NodeInfo.php | 48 ++++++++++++++++++++++++++--------------- 1 file changed, 31 insertions(+), 17 deletions(-) diff --git a/src/Module/NodeInfo.php b/src/Module/NodeInfo.php index 7fad79fd39..c8d75b8e16 100644 --- a/src/Module/NodeInfo.php +++ b/src/Module/NodeInfo.php @@ -13,14 +13,37 @@ use Friendica\Core\System; */ class NodeInfo extends BaseModule { + public static function init() + { + $config = self::getApp()->getConfig(); + + if (!$config->get('system', 'nodeinfo')) { + System::httpExit(404); + } + } + + public static function rawContent() + { + $app = self::getApp(); + + // @TODO: Replace with parameter from router + // if the first argument is ".well-known", print the well-known text + if (($app->argc > 1) && ($app->argv[0] == '.well-known')) { + self::printWellKnown($app); + // otherwise print the nodeinfo + } else { + self::printNodeInfo($app); + } + } + /** - * Prints the Nodeinfo for a well-known request + * Prints the well-known nodeinfo redirect * * @param App $app * * @throws \Friendica\Network\HTTPException\InternalServerErrorException */ - public static function printWellKnown(App $app) + private static function printWellKnown(App $app) { $config = $app->getConfig(); @@ -39,24 +62,15 @@ class NodeInfo extends BaseModule exit; } - public static function init() + /** + * Print the nodeinfo + * + * @param App $app + */ + private static function printNodeInfo(App $app) { - $app = self::getApp(); $config = $app->getConfig(); - if (!$config->get('system', 'nodeinfo')) { - System::httpExit(404); - } - - if (($app->argc != 2) || ($app->argv[1] != '1.0')) { - self::printWellKnown($app); - } - } - - public static function rawContent() - { - $config = self::getApp()->getConfig(); - $smtp = (function_exists('imap_open') && !$config->get('system', 'imap_disabled') && !$config->get('system', 'dfrn_only')); $nodeinfo = [