Module: ErrorHandlingResourcable
- Included in:
- DropletKit::AccountResource, DropletKit::ActionResource, DropletKit::AppResource, DropletKit::BalanceResource, DropletKit::CDNResource, DropletKit::CertificateResource, DropletKit::ContainerRegistryRepositoryResource, DropletKit::ContainerRegistryResource, DropletKit::DatabaseResource, DropletKit::DomainRecordResource, DropletKit::DomainResource, DropletKit::DropletActionResource, DropletKit::DropletResource, DropletKit::DropletUpgradeResource, DropletKit::FirewallResource, DropletKit::ImageActionResource, DropletKit::ImageResource, DropletKit::InvoiceResource, DropletKit::KubernetesClusterResource, DropletKit::KubernetesOptionsResource, DropletKit::LoadBalancerResource, DropletKit::OneClickResource, DropletKit::ProjectResource, DropletKit::RegionResource, DropletKit::SSHKeyResource, DropletKit::SizeResource, DropletKit::SnapshotResource, DropletKit::TagResource, DropletKit::VPCPeeringResource, DropletKit::VPCResource, DropletKit::VolumeResource
- Defined in:
- lib/droplet_kit/error_handling_resourcable.rb
Class Method Summary collapse
Class Method Details
.included(base) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/droplet_kit/error_handling_resourcable.rb', line 4 def self.included(base) base.send(:resources) do default_handler do |response| case response.status when 200...299 next when 429 unless response.headers.key?('Retry-After') && !connection..context.key?(:retry_max) error = DropletKit::RateLimitReached.new("#{response.status}: #{response.body}") error.limit = response.headers['RateLimit-Limit'] error.remaining = response.headers['RateLimit-Remaining'] error.reset_at = response.headers['RateLimit-Reset'] raise error end else raise DropletKit::Error, "#{response.status}: #{response.body}" end end end end |