3535use OCP \Files \AppData \IAppDataFactory ;
3636use OCP \Files \NotFoundException ;
3737use OCP \Http \Client \IClientService ;
38+ use OCP \IRequest ;
3839use OCP \IURLGenerator ;
40+ use OCP \IUserSession ;
3941use Psr \Log \LoggerInterface ;
4042
4143class 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 {
@@ -86,11 +92,11 @@ public function resolveReference(string $referenceText): ?IReference {
8692
8793 private function fetchReference (Reference $ reference ) {
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 ;
0 commit comments