|
|
@@ -8,18 +8,6 @@ declare(strict_types=1);
|
|
|
require dirname(__DIR__, 2) . '/constants.php';
|
|
|
require LIB_PATH . '/lib_rss.php'; //Includes class autoloader
|
|
|
|
|
|
-function badRequest(): never {
|
|
|
- header('HTTP/1.1 400 Bad Request');
|
|
|
- header('Content-Type: text/plain; charset=UTF-8');
|
|
|
- die('Bad Request!');
|
|
|
-}
|
|
|
-
|
|
|
-function serviceUnavailable(): never {
|
|
|
- header('HTTP/1.1 503 Service Unavailable');
|
|
|
- header('Content-Type: text/plain; charset=UTF-8');
|
|
|
- die('Service Unavailable!');
|
|
|
-}
|
|
|
-
|
|
|
$extensionName = is_string($_GET['ext'] ?? null) ? $_GET['ext'] : '';
|
|
|
|
|
|
if ($extensionName === '') {
|
|
|
@@ -43,18 +31,30 @@ if ($extensionName === '') {
|
|
|
}
|
|
|
|
|
|
if ($extensionName === '') {
|
|
|
- badRequest();
|
|
|
+ header('HTTP/1.1 400 Bad Request');
|
|
|
+ header('Content-Type: text/plain; charset=UTF-8');
|
|
|
+ die('Bad Request!');
|
|
|
}
|
|
|
|
|
|
Minz_Session::init('FreshRSS', volatile: true);
|
|
|
|
|
|
FreshRSS_Context::initSystem();
|
|
|
-if (
|
|
|
- !FreshRSS_Context::hasSystemConf() ||
|
|
|
- !FreshRSS_Context::systemConf()->api_enabled ||
|
|
|
- empty(FreshRSS_Context::systemConf()->extensions_enabled[$extensionName])
|
|
|
-) {
|
|
|
- serviceUnavailable();
|
|
|
+if (!FreshRSS_Context::hasSystemConf()) {
|
|
|
+ header('HTTP/1.1 500 Internal Server Error');
|
|
|
+ header('Content-Type: text/plain; charset=UTF-8');
|
|
|
+ die('Internal Server Error!');
|
|
|
+}
|
|
|
+
|
|
|
+if (!FreshRSS_Context::systemConf()->api_enabled) {
|
|
|
+ header('HTTP/1.1 503 Service Unavailable');
|
|
|
+ header('Content-Type: text/plain; charset=UTF-8');
|
|
|
+ die('Service Unavailable!');
|
|
|
+}
|
|
|
+
|
|
|
+if (empty(FreshRSS_Context::systemConf()->extensions_enabled[$extensionName])) {
|
|
|
+ header('HTTP/1.1 404 Not Found');
|
|
|
+ header('Content-Type: text/plain; charset=UTF-8');
|
|
|
+ die('Not Found!');
|
|
|
}
|
|
|
|
|
|
// Only enable the extension that is being called
|
|
|
@@ -64,5 +64,7 @@ Minz_ExtensionManager::init();
|
|
|
Minz_Translate::init();
|
|
|
|
|
|
if (!Minz_ExtensionManager::callHookUnique(Minz_HookType::ApiMisc)) {
|
|
|
- serviceUnavailable();
|
|
|
+ header('HTTP/1.1 501 Not Implemented');
|
|
|
+ header('Content-Type: text/plain; charset=UTF-8');
|
|
|
+ die('Not Implemented!');
|
|
|
}
|