File tree Expand file tree Collapse file tree 4 files changed +10
-0
lines changed Expand file tree Collapse file tree 4 files changed +10
-0
lines changed Original file line number Diff line number Diff line change @@ -204,6 +204,7 @@ module ActiveResource
204204  # * 410 - ActiveResource::ResourceGone 
205205  # * 412 - ActiveResource::PreconditionFailed 
206206  # * 422 - ActiveResource::ResourceInvalid (rescued by save as validation errors) 
207+   # * 429 - ActiveResource::TooManyRequests 
207208  # * 401..499 - ActiveResource::ClientError 
208209  # * 500..599 - ActiveResource::ServerError 
209210  # * Other - ActiveResource::ConnectionError 
Original file line number Diff line number Diff line change @@ -155,6 +155,8 @@ def handle_response(response)
155155          raise ( PreconditionFailed . new ( response ) ) 
156156        when  422 
157157          raise ( ResourceInvalid . new ( response ) ) 
158+         when  429 
159+           raise ( TooManyRequests . new ( response ) ) 
158160        when  401 ...500 
159161          raise ( ClientError . new ( response ) ) 
160162        when  500 ...600 
Original file line number Diff line number Diff line change @@ -75,6 +75,10 @@ class ResourceGone < ClientError # :nodoc:
7575  class  PreconditionFailed  < ClientError  # :nodoc: 
7676  end 
7777
78+   # 429 Too Many Requests 
79+   class  TooManyRequests  < ClientError  # :nodoc: 
80+   end 
81+ 
7882  # 5xx Server Error 
7983  class  ServerError  < ConnectionError  # :nodoc: 
8084  end 
Original file line number Diff line number Diff line change @@ -95,6 +95,9 @@ def test_handle_response
9595    # 422 is a validation error 
9696    assert_response_raises  ActiveResource ::ResourceInvalid ,  422 
9797
98+     # 429 is too many requests 
99+     assert_response_raises  ActiveResource ::TooManyRequests ,  429 
100+ 
98101    # 4xx are client errors. 
99102    [ 402 ,  499 ] . each  do  |code |
100103      assert_response_raises  ActiveResource ::ClientError ,  code 
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments