Don't call API class if HTTP status code is 4xx or 5xx

This commit is contained in:
Kijin Sung 2026-03-09 20:29:18 +09:00
parent a03c33381f
commit 4fe87edd1d

View file

@ -921,7 +921,7 @@ class ModuleObject extends BaseObject
// execute api methods of the module if view action is and result is XMLRPC or JSON // execute api methods of the module if view action is and result is XMLRPC or JSON
if(isset($this->module_info->module_type) && in_array($this->module_info->module_type, ['view', 'mobile'])) if(isset($this->module_info->module_type) && in_array($this->module_info->module_type, ['view', 'mobile']))
{ {
if(Context::getResponseMethod() == 'XMLRPC' || Context::getResponseMethod() == 'JSON') if ($this->getHttpStatusCode() < 400 && in_array(Context::getResponseMethod(), ['JSON', 'XMLRPC']))
{ {
$oAPI = getAPI($this->module_info->module); $oAPI = getAPI($this->module_info->module);
if($oAPI instanceof ModuleObject && method_exists($oAPI, $this->act)) if($oAPI instanceof ModuleObject && method_exists($oAPI, $this->act))