Skip to content

Commit 6bff4ff

Browse files
author
ClawdBot
committed
feat: add Saloon v4 support (CVE-2026-33182, CVE-2026-33183)
- Update saloonphp/saloon constraint to ^3.10|^4.0 - Update pagination-plugin to ^2.2|^2.3 and rate-limit-plugin to ^2.0|^2.5 - Fix Administrations endpoints: use relative paths instead of absolute URLs (absolute URLs are blocked in Saloon v4 to prevent SSRF)
1 parent 52e8a3c commit 6bff4ff

3 files changed

Lines changed: 9 additions & 9 deletions

File tree

composer.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@
2222
"php": "^8.2",
2323
"guzzlehttp/guzzle": "^7.9",
2424
"kelunik/link-header-rfc5988": "^1.0",
25-
"saloonphp/pagination-plugin": "^2.2",
26-
"saloonphp/rate-limit-plugin": "^2.0",
27-
"saloonphp/saloon": "^3.10"
25+
"saloonphp/pagination-plugin": "^2.2|^2.3",
26+
"saloonphp/rate-limit-plugin": "^2.0|^2.5",
27+
"saloonphp/saloon": "^3.10|^4.0"
2828
},
2929
"require-dev": {
3030
"laravel/pint": "^1.17",

src/Api/Administrations/GetAdministrationRequest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ public function __construct(
1616
}
1717

1818
/**
19-
* Returns the full URL to bypass the connector's base URL.
20-
* The Administrations endpoint does not use an administration ID in the path.
19+
* The Administrations endpoint does not use an administration ID in the path,
20+
* so we navigate up from the connector's base URL (which includes the admin ID).
2121
*/
2222
public function resolveEndpoint(): string
2323
{
24-
return 'https://moneybird.com/api/v2/administrations/'.$this->id;
24+
return '/../administrations/'.$this->id;
2525
}
2626

2727
public function createDtoFromResponse(Response $response): Administration

src/Api/Administrations/GetAdministrationsRequest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@
1010
class GetAdministrationsRequest extends BaseJsonGetRequest
1111
{
1212
/**
13-
* Returns the full URL to bypass the connector's base URL.
14-
* The Administrations endpoint does not use an administration ID in the path.
13+
* The Administrations endpoint does not use an administration ID in the path,
14+
* so we navigate up from the connector's base URL (which includes the admin ID).
1515
*/
1616
public function resolveEndpoint(): string
1717
{
18-
return 'https://moneybird.com/api/v2/administrations';
18+
return '/../administrations';
1919
}
2020

2121
public function createDtoFromResponse(Response $response): Administration

0 commit comments

Comments
 (0)