Exception: RestClient::Exception

Inherits:
RuntimeError
  • Object
show all
Defined in:
lib/restclient/exceptions.rb

Overview

This is the base RestClient exception class. Rescue it if you want to catch any exception that your request might raise You can get the status code by e.http_code, or see anything about the response via e.response. For example, the entire result body (which is probably an HTML error page) is e.response.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(response = nil, initial_response_code = nil) ⇒ Exception

Returns a new instance of Exception.



91
92
93
94
95
96
97
98
# File 'lib/restclient/exceptions.rb', line 91

def initialize response = nil, initial_response_code = nil
  @response = response
  @message = nil
  @initial_response_code = initial_response_code

  # compatibility: this make the exception behave like a Net::HTTPResponse
  response.extend ResponseForException if response
end

Instance Attribute Details

#messageObject



121
122
123
# File 'lib/restclient/exceptions.rb', line 121

def message
  @message || self.class.name
end

#responseObject

Returns the value of attribute response.



88
89
90
# File 'lib/restclient/exceptions.rb', line 88

def response
  @response
end

Instance Method Details

#http_bodyObject



109
110
111
# File 'lib/restclient/exceptions.rb', line 109

def http_body
  @response.body if @response
end

#http_codeObject



100
101
102
103
104
105
106
107
# File 'lib/restclient/exceptions.rb', line 100

def http_code
  # return integer for compatibility
  if @response
    @response.code.to_i
  else
    @initial_response_code
  end
end

#inspectObject



113
114
115
# File 'lib/restclient/exceptions.rb', line 113

def inspect
  "#{message}: #{http_body}"
end

#to_sObject



117
118
119
# File 'lib/restclient/exceptions.rb', line 117

def to_s
  inspect
end