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;
use Friendica\Core\Logger;
use Friendica\DI;
use Friendica\Model\Contact;
use Friendica\Network\HTTPException\InternalServerErrorException;
use Friendica\Network\HTTPException\NotFoundException;
class AddContact
{
@ -33,14 +35,22 @@ class AddContact
*/
public static function execute(int $uid, string $url)
{
try {
if ($uid == 0) {
// Adding public contact
$result = Contact::getIdForURL($url);
Logger::info('Added public contact', ['url' => $url, 'result' => $result]);
DI::logger()->info('Added public contact', ['url' => $url, 'result' => $result]);
return;
}
$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]);
}
}
}