Skip to content

Commit 1ab6698

Browse files
committed
Inject all dependnencies and increase cache timeout
Signed-off-by: Julius Härtl <jus@bitgrid.net>
1 parent 80f6a58 commit 1ab6698

File tree

4 files changed

+14
-7
lines changed

4 files changed

+14
-7
lines changed

core/Controller/ReferenceController.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
namespace OC\Core\Controller;
2626

27+
use OCP\AppFramework\Http\Response;
2728
use OCP\Collaboration\Reference\IReferenceManager;
2829
use OCP\AppFramework\Controller;
2930
use OCP\AppFramework\Http;
@@ -48,7 +49,7 @@ public function __construct(string $appName, IRequest $request, IReferenceManage
4849
* @PublicPage
4950
* @NoCSRFRequired
5051
*/
51-
public function preview(string $referenceId) {
52+
public function preview(string $referenceId): Response {
5253
$reference = $this->referenceManager->getReferenceByCacheKey($referenceId);
5354
if ($reference === null) {
5455
return new DataResponse('', Http::STATUS_NOT_FOUND);

lib/private/Collaboration/Reference/File/FileReferenceProvider.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public function resolveReference(string $referenceText): ?IReference {
103103
/**
104104
* @throws NotFoundException
105105
*/
106-
private function fetchReference(Reference $reference) {
106+
private function fetchReference(Reference $reference): void {
107107
if ($this->userId === null) {
108108
throw new NotFoundException();
109109
}

lib/private/Collaboration/Reference/LinkReferenceProvider.php

+10-4
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,9 @@
3535
use OCP\Files\AppData\IAppDataFactory;
3636
use OCP\Files\NotFoundException;
3737
use OCP\Http\Client\IClientService;
38+
use OCP\IRequest;
3839
use OCP\IURLGenerator;
40+
use OCP\IUserSession;
3941
use Psr\Log\LoggerInterface;
4042

4143
class LinkReferenceProvider implements IReferenceProvider {
@@ -56,14 +58,18 @@ class LinkReferenceProvider implements IReferenceProvider {
5658
private IAppDataFactory $appDataFactory;
5759
private IURLGenerator $urlGenerator;
5860
private Limiter $limiter;
61+
private IUserSession $userSession;
62+
private IRequest $request;
5963

60-
public function __construct(IClientService $clientService, LoggerInterface $logger, SystemConfig $systemConfig, IAppDataFactory $appDataFactory, IURLGenerator $urlGenerator, Limiter $limiter) {
64+
public function __construct(IClientService $clientService, LoggerInterface $logger, SystemConfig $systemConfig, IAppDataFactory $appDataFactory, IURLGenerator $urlGenerator, Limiter $limiter, IUserSession $userSession, IRequest $request) {
6165
$this->clientService = $clientService;
6266
$this->logger = $logger;
6367
$this->systemConfig = $systemConfig;
6468
$this->appDataFactory = $appDataFactory;
6569
$this->urlGenerator = $urlGenerator;
6670
$this->limiter = $limiter;
71+
$this->userSession = $userSession;
72+
$this->request = $request;
6773
}
6874

6975
public function matchReference(string $referenceText): bool {
@@ -84,13 +90,13 @@ public function resolveReference(string $referenceText): ?IReference {
8490
return null;
8591
}
8692

87-
private function fetchReference(Reference $reference) {
93+
private function fetchReference(Reference $reference): void {
8894
try {
89-
$user = \OC::$server->getUserSession()->getUser();
95+
$user = $this->userSession->getUser();
9096
if ($user) {
9197
$this->limiter->registerUserRequest('opengraph', 10, 120, $user);
9298
} else {
93-
$this->limiter->registerAnonRequest('opengraph', 10, 120, \OC::$server->getRequest()->getRemoteAddress());
99+
$this->limiter->registerAnonRequest('opengraph', 10, 120, $this->request->getRemoteAddress());
94100
}
95101
} catch (RateLimitExceededException $e) {
96102
return;

lib/private/Collaboration/Reference/ReferenceManager.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
use Throwable;
3838

3939
class ReferenceManager implements IReferenceManager {
40-
public const CACHE_TTL = 60;
40+
public const CACHE_TTL = 3600;
4141

4242
/** @var IReferenceProvider[]|null */
4343
private ?array $providers = null;

0 commit comments

Comments
 (0)