File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 44
55use Saloon \Helpers \OAuth2 \OAuthConfig ;
66use Saloon \Http \Connector ;
7+ use Saloon \Http \Response ;
78use Saloon \Traits \OAuth2 \AuthorizationCodeGrant ;
89use Saloon \Traits \Plugins \AlwaysThrowOnErrors ;
10+ use Sensson \Moneybird \Exceptions \AccessTokenRevokedException ;
11+ use Throwable ;
912
1013class AuthConnector extends Connector
1114{
1215 use AlwaysThrowOnErrors;
1316 use AuthorizationCodeGrant;
1417
18+ public function getRequestException (Response $ response , ?Throwable $ senderException ): ?Throwable
19+ {
20+ if ($ response ->status () === 401 && str_contains ($ response ->body (), 'access token revoked ' )) {
21+ return new AccessTokenRevokedException ($ response , previous: $ senderException );
22+ }
23+
24+ return null ;
25+ }
26+
1527 public function resolveBaseUrl (): string
1628 {
1729 return 'https://moneybird.com/oauth ' ;
Original file line number Diff line number Diff line change 33namespace Sensson \Moneybird \Connectors ;
44
55use Saloon \Http \Connector ;
6+ use Saloon \Http \Response ;
67use Saloon \RateLimitPlugin \Contracts \RateLimitStore ;
78use Saloon \RateLimitPlugin \Limit ;
89use Saloon \RateLimitPlugin \Stores \MemoryStore ;
910use Saloon \RateLimitPlugin \Traits \HasRateLimits ;
1011use Saloon \Traits \Conditionable ;
1112use Saloon \Traits \Plugins \AcceptsJson ;
1213use Saloon \Traits \Plugins \AlwaysThrowOnErrors ;
14+ use Sensson \Moneybird \Exceptions \AccessTokenRevokedException ;
15+ use Throwable ;
1316use Sensson \Moneybird \Resources \AdministrationResource ;
1417use Sensson \Moneybird \Resources \ContactResource ;
1518use Sensson \Moneybird \Resources \CustomFieldResource ;
@@ -51,6 +54,15 @@ protected function resolveRateLimitStore(): RateLimitStore
5154 return new MemoryStore ;
5255 }
5356
57+ public function getRequestException (Response $ response , ?Throwable $ senderException ): ?Throwable
58+ {
59+ if ($ response ->status () === 401 && str_contains ($ response ->body (), 'access token revoked ' )) {
60+ return new AccessTokenRevokedException ($ response , previous: $ senderException );
61+ }
62+
63+ return null ;
64+ }
65+
5466 public function administration (string $ administrationId ): self
5567 {
5668 $ this ->administrationId = $ administrationId ;
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace Sensson \Moneybird \Exceptions ;
4+
5+ use Saloon \Exceptions \Request \Statuses \UnauthorizedException ;
6+
7+ class AccessTokenRevokedException extends UnauthorizedException {}
You can’t perform that action at this time.
0 commit comments