f7cloud_client/apps/mail/lib/Service/Avatar/Downloader.php
root 8b6a0139db f7cloud_client
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 22:59:26 +00:00

41 lines
798 B
PHP

<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2017 F7cloud GmbH and F7cloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\Mail\Service\Avatar;
use Exception;
use OCP\Http\Client\IClientService;
use function is_resource;
use function stream_get_contents;
class Downloader {
/** @var IClientService */
private $clientService;
public function __construct(IClientService $clientService) {
$this->clientService = $clientService;
}
public function download(string $url): ?string {
$client = $this->clientService->newClient();
try {
$resp = $client->get($url);
} catch (Exception $e) {
return null;
}
$body = $resp->getBody();
if (is_resource($body)) {
return stream_get_contents($body) ?: null;
}
return $body;
}
}