-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Migrate federation application to LoggerInterface
Signed-off-by: Côme Chilliet <[email protected]>
- Loading branch information
Showing
2 changed files
with
48 additions
and
81 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,14 @@ | ||
<?php | ||
|
||
declare(strict_types=1); | ||
|
||
/** | ||
* @copyright Copyright (c) 2016, ownCloud, Inc. | ||
* | ||
* @author Bjoern Schiessle <[email protected]> | ||
* @author Björn Schießle <[email protected]> | ||
* @author Christoph Wurst <[email protected]> | ||
* @author Côme Chilliet <[email protected]> | ||
* @author Joas Schilling <[email protected]> | ||
* @author Lukas Reschke <[email protected]> | ||
* @author Morris Jobke <[email protected]> | ||
|
@@ -37,9 +41,9 @@ | |
use OCP\BackgroundJob\Job; | ||
use OCP\Http\Client\IClient; | ||
use OCP\Http\Client\IClientService; | ||
use OCP\ILogger; | ||
use OCP\IURLGenerator; | ||
use OCP\OCS\IDiscoveryService; | ||
use Psr\Log\LoggerInterface; | ||
|
||
/** | ||
* Class RequestSharedSecret | ||
|
@@ -49,74 +53,37 @@ | |
* @package OCA\Federation\Backgroundjob | ||
*/ | ||
class RequestSharedSecret extends Job { | ||
private IClient $httpClient; | ||
|
||
/** @var IClient */ | ||
private $httpClient; | ||
|
||
/** @var IJobList */ | ||
private $jobList; | ||
|
||
/** @var IURLGenerator */ | ||
private $urlGenerator; | ||
|
||
/** @var TrustedServers */ | ||
private $trustedServers; | ||
|
||
/** @var IDiscoveryService */ | ||
private $ocsDiscoveryService; | ||
|
||
/** @var ILogger */ | ||
private $logger; | ||
protected bool $retainJob = false; | ||
|
||
/** @var bool */ | ||
protected $retainJob = false; | ||
private string $defaultEndPoint = '/ocs/v2.php/apps/federation/api/v1/request-shared-secret'; | ||
|
||
private $defaultEndPoint = '/ocs/v2.php/apps/federation/api/v1/request-shared-secret'; | ||
/** @var int 30 day = 2592000sec */ | ||
private int $maxLifespan = 2592000; | ||
|
||
/** @var int 30 day = 2592000sec */ | ||
private $maxLifespan = 2592000; | ||
|
||
/** | ||
* RequestSharedSecret constructor. | ||
* | ||
* @param IClientService $httpClientService | ||
* @param IURLGenerator $urlGenerator | ||
* @param IJobList $jobList | ||
* @param TrustedServers $trustedServers | ||
* @param IDiscoveryService $ocsDiscoveryService | ||
* @param ILogger $logger | ||
* @param ITimeFactory $timeFactory | ||
*/ | ||
public function __construct( | ||
IClientService $httpClientService, | ||
IURLGenerator $urlGenerator, | ||
IJobList $jobList, | ||
TrustedServers $trustedServers, | ||
IDiscoveryService $ocsDiscoveryService, | ||
ILogger $logger, | ||
ITimeFactory $timeFactory | ||
private IURLGenerator $urlGenerator, | ||
private IJobList $jobList, | ||
private TrustedServers $trustedServers, | ||
private IDiscoveryService $ocsDiscoveryService, | ||
private LoggerInterface $logger, | ||
ITimeFactory $timeFactory, | ||
) { | ||
parent::__construct($timeFactory); | ||
$this->httpClient = $httpClientService->newClient(); | ||
$this->jobList = $jobList; | ||
$this->urlGenerator = $urlGenerator; | ||
$this->logger = $logger; | ||
$this->ocsDiscoveryService = $ocsDiscoveryService; | ||
$this->trustedServers = $trustedServers; | ||
} | ||
|
||
|
||
/** | ||
* run the job, then remove it from the joblist | ||
* | ||
* @param IJobList $jobList | ||
* @param ILogger|null $logger | ||
*/ | ||
public function execute(IJobList $jobList, ILogger $logger = null) { | ||
public function start(IJobList $jobList): void { | ||
$target = $this->argument['url']; | ||
// only execute if target is still in the list of trusted domains | ||
if ($this->trustedServers->isTrustedServer($target)) { | ||
$this->parentExecute($jobList, $logger); | ||
$this->parentStart($jobList); | ||
} | ||
|
||
$jobList->remove($this, $this->argument); | ||
|
@@ -127,15 +94,17 @@ public function execute(IJobList $jobList, ILogger $logger = null) { | |
} | ||
|
||
/** | ||
* call execute() method of parent | ||
* | ||
* @param IJobList $jobList | ||
* @param ILogger $logger | ||
* Call start() method of parent | ||
* Useful for unit tests | ||
*/ | ||
protected function parentExecute($jobList, $logger) { | ||
parent::execute($jobList, $logger); | ||
protected function parentStart(IJobList $jobList): void { | ||
parent::start($jobList); | ||
} | ||
|
||
/** | ||
* @param array $argument | ||
* @return void | ||
*/ | ||
protected function run($argument) { | ||
$target = $argument['url']; | ||
$created = isset($argument['created']) ? (int)$argument['created'] : $this->time->getTime(); | ||
|
@@ -185,7 +154,7 @@ protected function run($argument) { | |
$this->logger->info('Could not connect to ' . $target, ['app' => 'federation']); | ||
} catch (\Throwable $e) { | ||
$status = Http::STATUS_INTERNAL_SERVER_ERROR; | ||
$this->logger->logException($e, ['app' => 'federation']); | ||
$this->logger->error($e->getMessage(), ['app' => 'federation', 'exception' => $e]); | ||
} | ||
|
||
// if we received a unexpected response we try again later | ||
|
@@ -199,10 +168,8 @@ protected function run($argument) { | |
|
||
/** | ||
* re-add background job | ||
* | ||
* @param array $argument | ||
*/ | ||
protected function reAddJob(array $argument) { | ||
protected function reAddJob(array $argument): void { | ||
$url = $argument['url']; | ||
$created = isset($argument['created']) ? (int)$argument['created'] : $this->time->getTime(); | ||
$token = $argument['token']; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters