Exception: Elementary::Middleware::HttpStatusError

Inherits:
StandardError
  • Object
show all
Defined in:
lib/elementary/middleware/raise_on_status.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ HttpStatusError

Returns a new instance of HttpStatusError.



7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/elementary/middleware/raise_on_status.rb', line 7

def initialize(opts = {})
  @status_code = opts.fetch(:status_code, nil)
  @method = opts.fetch(:method, "<Unknown Method>")
  @url = opts.fetch(:method, "<Unknown URL>")

  message = if connection_refused?
              "#{method} #{url} returned a connection refused: #{opts.fetch(:parent_message, '<Unknown Message>')}"
            else
              "#{method} #{url} returned an HTTP response status of #{status_code}, so an exception was raised."
            end
  super message
end

Instance Attribute Details

#methodObject (readonly)

Returns the value of attribute method.



6
7
8
# File 'lib/elementary/middleware/raise_on_status.rb', line 6

def method
  @method
end

#parent_messageObject (readonly)

Returns the value of attribute parent_message.



6
7
8
# File 'lib/elementary/middleware/raise_on_status.rb', line 6

def parent_message
  @parent_message
end

#status_codeObject (readonly)

Returns the value of attribute status_code.



6
7
8
# File 'lib/elementary/middleware/raise_on_status.rb', line 6

def status_code
  @status_code
end

#urlObject (readonly)

Returns the value of attribute url.



6
7
8
# File 'lib/elementary/middleware/raise_on_status.rb', line 6

def url
  @url
end

Instance Method Details

#connection_refused?Boolean

We assume that the connection was refused if no status code was set.

Returns:

  • (Boolean)


22
23
24
# File 'lib/elementary/middleware/raise_on_status.rb', line 22

def connection_refused?
  @status_code.nil?
end