Exception: PatientHttp::TooManyRedirectsError

Inherits:
RedirectError show all
Defined in:
lib/patient_http/redirect_error.rb

Overview

Error raised when too many redirects are encountered.

Instance Attribute Summary

Attributes inherited from RedirectError

#duration, #http_method, #redirects, #request_id, #url

Instance Method Summary collapse

Methods inherited from RedirectError

#as_json, #callback_args, #error_class, #error_type, load

Methods inherited from Error

#as_json, #callback_args, #duration, #error_class, #error_type, #http_method, load, #request_id, #to_json, #url

Constructor Details

#initialize(url:, http_method:, duration:, request_id:, redirects:, callback_args: nil) ⇒ TooManyRedirectsError

Returns a new instance of TooManyRedirectsError.

Parameters:

  • url (String)

    The URL that would have been redirected to

  • http_method (Symbol, String)

    HTTP method

  • duration (Float)

    Request duration in seconds

  • request_id (String)

    Unique request identifier

  • redirects (Array<String>)

    URLs visited during redirect chain

  • callback_args (Hash, nil) (defaults to: nil)

    callback arguments (string keys)



103
104
105
106
107
108
109
110
111
112
113
# File 'lib/patient_http/redirect_error.rb', line 103

def initialize(url:, http_method:, duration:, request_id:, redirects:, callback_args: nil)
  super(
    "Too many redirects (#{redirects.size}) while requesting #{http_method.to_s.upcase} #{redirects.first || url}",
    url: url,
    http_method: http_method,
    duration: duration,
    request_id: request_id,
    redirects: redirects,
    callback_args: callback_args
  )
end