35
35
use OCP \Files \AppData \IAppDataFactory ;
36
36
use OCP \Files \NotFoundException ;
37
37
use OCP \Http \Client \IClientService ;
38
+ use OCP \IRequest ;
38
39
use OCP \IURLGenerator ;
40
+ use OCP \IUserSession ;
39
41
use Psr \Log \LoggerInterface ;
40
42
41
43
class LinkReferenceProvider implements IReferenceProvider {
@@ -56,14 +58,18 @@ class LinkReferenceProvider implements IReferenceProvider {
56
58
private IAppDataFactory $ appDataFactory ;
57
59
private IURLGenerator $ urlGenerator ;
58
60
private Limiter $ limiter ;
61
+ private IUserSession $ userSession ;
62
+ private IRequest $ request ;
59
63
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 ) {
61
65
$ this ->clientService = $ clientService ;
62
66
$ this ->logger = $ logger ;
63
67
$ this ->systemConfig = $ systemConfig ;
64
68
$ this ->appDataFactory = $ appDataFactory ;
65
69
$ this ->urlGenerator = $ urlGenerator ;
66
70
$ this ->limiter = $ limiter ;
71
+ $ this ->userSession = $ userSession ;
72
+ $ this ->request = $ request ;
67
73
}
68
74
69
75
public function matchReference (string $ referenceText ): bool {
@@ -84,13 +90,13 @@ public function resolveReference(string $referenceText): ?IReference {
84
90
return null ;
85
91
}
86
92
87
- private function fetchReference (Reference $ reference ) {
93
+ private function fetchReference (Reference $ reference ): void {
88
94
try {
89
- $ user = \ OC :: $ server -> getUserSession () ->getUser ();
95
+ $ user = $ this -> userSession ->getUser ();
90
96
if ($ user ) {
91
97
$ this ->limiter ->registerUserRequest ('opengraph ' , 10 , 120 , $ user );
92
98
} else {
93
- $ this ->limiter ->registerAnonRequest ('opengraph ' , 10 , 120 , \ OC :: $ server -> getRequest () ->getRemoteAddress ());
99
+ $ this ->limiter ->registerAnonRequest ('opengraph ' , 10 , 120 , $ this -> request ->getRemoteAddress ());
94
100
}
95
101
} catch (RateLimitExceededException $ e ) {
96
102
return ;
0 commit comments