| Conditions | 4 |
| Total Lines | 12 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 1 | ||
| Bugs | 0 | Features | 0 |
| 1 | require "faraday/middleware" |
||
| 48 | def retry_status(status, this_retry_after = nil) |
||
| 49 | return false unless @error_codes.include? status |
||
| 50 | seconds_left = (this_retry_after || @retry_after).to_i |
||
| 51 | @logger.warn "You have been rate limited. Retrying in #{seconds_left} seconds..." if @logger |
||
| 52 | seconds_left.times do |i| |
||
| 53 | sleep 1 |
||
| 54 | time_left = seconds_left - i |
||
| 55 | @logger.warn "#{time_left}..." if time_left > 0 && time_left % 5 == 0 && @logger |
||
| 56 | end |
||
| 57 | @logger.warn 'Retrying...' if @logger |
||
| 58 | true |
||
| 59 | end |
||
| 60 | end |
||
| 63 |