DigitalOceanPHP / Client

DigitalOcean API v2 client for PHP
MIT License
709 stars 205 forks source link

Include rate limit data in ApiLimitExceededException #327

Open webignition opened 7 months ago

webignition commented 7 months ago

Overview A 429 (api limit exceeded) response includes headers reflecting the state of the rate limit. This state can be exposed by DigitalOceanV2\Exception\ApiLimitExceededException. Doing so allows callers to more easily access the rate limit state and act accordingly.

BC Concerns This change adds a new third argument to the ApiLimitExceededException constructor. The new constructor argument is nullable and defaults to null to allow any existing calls to the constructor that may be present in consumers of this package to continue to work.

Tests A new test has been added to verify that an instance of ApiLimitExceededException created via ExceptionThrower::handleRequest() contains the relevant rate limit state.

webignition commented 1 month ago

@GrahamCampbell How's this looking for merging?

edit: typo