Merge pull request #11534 from nupplaphil/bug/catch_notfound

Catch exceptions for Worker::AddContact()
This commit is contained in:
Michael Vogel 2022-05-19 04:45:13 +02:00 committed by GitHub
commit 0b8e0a09e3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -21,8 +21,10 @@
namespace Friendica\Worker; namespace Friendica\Worker;
use Friendica\Core\Logger; use Friendica\DI;
use Friendica\Model\Contact; use Friendica\Model\Contact;
use Friendica\Network\HTTPException\InternalServerErrorException;
use Friendica\Network\HTTPException\NotFoundException;
class AddContact class AddContact
{ {
@ -33,14 +35,22 @@ class AddContact
*/ */
public static function execute(int $uid, string $url) public static function execute(int $uid, string $url)
{ {
if ($uid == 0) { try {
// Adding public contact if ($uid == 0) {
$result = Contact::getIdForURL($url); // Adding public contact
Logger::info('Added public contact', ['url' => $url, 'result' => $result]); $result = Contact::getIdForURL($url);
return; DI::logger()->info('Added public contact', ['url' => $url, 'result' => $result]);
} return;
}
$result = Contact::createFromProbeForUser($uid, $url); $result = Contact::createFromProbeForUser($uid, $url);
Logger::info('Added contact for user', ['uid' => $uid, 'url' => $url, 'result' => $result]); DI::logger()->info('Added contact for user', ['uid' => $uid, 'url' => $url, 'result' => $result]);
} catch (InternalServerErrorException $e) {
DI::logger()->warning('Internal server error.', ['exception' => $e, 'uid' => $uid, 'url' => $url]);
} catch (NotFoundException $e) {
DI::logger()->notice('uid not found.', ['exception' => $e, 'uid' => $uid, 'url' => $url]);
} catch (\ImagickException $e) {
DI::logger()->notice('Imagick not found.', ['exception' => $e, 'uid' => $uid, 'url' => $url]);
}
} }
} }