Exception: PatientHttp::RecursiveRedirectError

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

Overview

Error raised when a recursive redirect is detected.

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) ⇒ RecursiveRedirectError

Returns a new instance of RecursiveRedirectError.

Parameters:

  • url (String)

    The URL that caused the loop

  • 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)



124
125
126
127
128
129
130
131
132
133
134
# File 'lib/patient_http/redirect_error.rb', line 124

def initialize(url:, http_method:, duration:, request_id:, redirects:, callback_args: nil)
  super(
    "Recursive redirect detected: #{url} was already visited in redirect chain",
    url: url,
    http_method: http_method,
    duration: duration,
    request_id: request_id,
    redirects: redirects,
    callback_args: callback_args
  )
end