Sha256: 2bcc3f396a6f1ff6f86a6f4b4905fdc76eedfe809c32d619495c3d4c65a6839a

Contents?: true

Size: 731 Bytes

Versions: 2

Compression:

Stored size: 731 Bytes

Contents

# frozen_string_literal: true

module FaradayDynamicTimeout
  class RequestInfo
    attr_reader :env, :duration, :timeout, :error

    def initialize(env:, duration:, timeout:, request_count:, error: nil)
      @env = env
      @duration = duration
      @timeout = timeout
      @request_count = request_count
      @error = error
    end

    def http_method
      env.method
    end

    def uri
      env.url
    end

    def status
      env.status
    end

    def request_count
      throttled? ? error.request_count : @request_count
    end

    def throttled?
      @error.is_a?(ThrottledError)
    end

    def timed_out?
      @error.is_a?(Faraday::TimeoutError)
    end

    def error?
      !!@error
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
faraday_dynamic_timeout-1.1.0 lib/faraday_dynamic_timeout/request_info.rb
faraday_dynamic_timeout-1.0.0 lib/faraday_dynamic_timeout/request_info.rb