Class: HTTParty::Response
- Inherits:
-
BasicObject
- Defined in:
- lib/httparty/response/headers.rb,
lib/httparty/response.rb
Overview
Defined Under Namespace
Classes: Headers
Constant Summary
collapse
- RESPOND_TO_METHODS =
[:request, :response, :parsed_response, :body, :headers]
- CODES_TO_OBJ =
::Net::HTTPResponse::CODE_CLASS_TO_OBJ.merge ::Net::HTTPResponse::CODE_TO_OBJ
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(request, response, parsed_block, options = {}) ⇒ Response
Returns a new instance of Response.
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/httparty/response.rb', line 9
def initialize(request, response, parsed_block, options = {})
@request = request
@response = response
@body = options[:body] || response.body
@parsed_block = parsed_block
@headers = Headers.new(response.to_hash)
if request.options[:logger]
logger = ::HTTParty::Logger.build(request.options[:logger], request.options[:log_level], request.options[:log_format])
logger.format(request, self)
end
throw_exception
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args, &block) ⇒ Object
79
80
81
82
83
84
85
86
87
|
# File 'lib/httparty/response.rb', line 79
def method_missing(name, *args, &block)
if parsed_response.respond_to?(name)
parsed_response.send(name, *args, &block)
elsif response.respond_to?(name)
response.send(name, *args, &block)
else
super
end
end
|
Instance Attribute Details
#body ⇒ Object
Returns the value of attribute body.
7
8
9
|
# File 'lib/httparty/response.rb', line 7
def body
@body
end
|
Returns the value of attribute headers.
7
8
9
|
# File 'lib/httparty/response.rb', line 7
def
@headers
end
|
#request ⇒ Object
Returns the value of attribute request.
7
8
9
|
# File 'lib/httparty/response.rb', line 7
def request
@request
end
|
#response ⇒ Object
Returns the value of attribute response.
7
8
9
|
# File 'lib/httparty/response.rb', line 7
def response
@response
end
|
Class Method Details
.underscore(string) ⇒ Object
3
4
5
|
# File 'lib/httparty/response.rb', line 3
def self.underscore(string)
string.gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2').gsub(/([a-z])([A-Z])/, '\1_\2').downcase
end
|
Instance Method Details
#class ⇒ Object
28
29
30
|
# File 'lib/httparty/response.rb', line 28
def class
Response
end
|
#code ⇒ Object
38
39
40
|
# File 'lib/httparty/response.rb', line 38
def code
response.code.to_i
end
|
#inspect ⇒ Object
47
48
49
50
|
# File 'lib/httparty/response.rb', line 47
def inspect
inspect_id = ::Kernel::format "%x", (object_id * 2)
%(#<#{self.class}:0x#{inspect_id} parsed_response=#{parsed_response.inspect}, @response=#{response.inspect}, @headers=#{.inspect}>)
end
|
#is_a?(klass) ⇒ Boolean
Also known as:
kind_of?
32
33
34
|
# File 'lib/httparty/response.rb', line 32
def is_a?(klass)
self.class == klass || self.class < klass
end
|
#parsed_response ⇒ Object
24
25
26
|
# File 'lib/httparty/response.rb', line 24
def parsed_response
@parsed_response ||= @parsed_block.call
end
|
#respond_to?(name, include_all = false) ⇒ Boolean
72
73
74
75
|
# File 'lib/httparty/response.rb', line 72
def respond_to?(name, include_all = false)
return true if RESPOND_TO_METHODS.include?(name)
parsed_response.respond_to?(name, include_all) || response.respond_to?(name, include_all)
end
|
#tap {|_self| ... } ⇒ Object
42
43
44
45
|
# File 'lib/httparty/response.rb', line 42
def tap
yield self
self
end
|