. * */ namespace Friendica\Factory\Api\Mastodon; use Friendica\BaseFactory; use Friendica\Core\Logger; use Friendica\Core\System; use Friendica\DI; class Error extends BaseFactory { private function logError(int $errorno, string $error) { Logger::info('API Error', ['no' => $errorno, 'error' => $error, 'method' => $_SERVER['REQUEST_METHOD'] ?? '', 'command' => DI::args()->getQueryString(), 'user-agent' => $_SERVER['HTTP_USER_AGENT'] ?? '']); } public function RecordNotFound() { $error = DI::l10n()->t('Record not found'); $error_description = ''; $errorobj = New \Friendica\Object\Api\Mastodon\Error($error, $error_description); $this->logError(404, $error); System::jsonError(404, $errorobj->toArray()); } public function UnprocessableEntity(string $error = '') { $error = $error ?: DI::l10n()->t('Unprocessable Entity'); $error_description = ''; $errorobj = New \Friendica\Object\Api\Mastodon\Error($error, $error_description); $this->logError(422, $error); System::jsonError(422, $errorobj->toArray()); } public function Unauthorized(string $error = '') { $error = $error ?: DI::l10n()->t('Unauthorized'); $error_description = ''; $errorobj = New \Friendica\Object\Api\Mastodon\Error($error, $error_description); $this->logError(401, $error); System::jsonError(401, $errorobj->toArray()); } public function Forbidden(string $error = '') { $error = $error ?: DI::l10n()->t('Token is not authorized with a valid user or is missing a required scope'); $error_description = ''; $errorobj = New \Friendica\Object\Api\Mastodon\Error($error, $error_description); $this->logError(403, $error); System::jsonError(403, $errorobj->toArray()); } public function InternalError(string $error = '') { $error = $error ?: DI::l10n()->t('Internal Server Error'); $error_description = ''; $errorobj = New \Friendica\Object\Api\Mastodon\Error($error, $error_description); $this->logError(500, $error); System::jsonError(500, $errorobj->toArray()); } }