Class: HTTParty::Response
- Inherits:
-
Object
- Object
- HTTParty::Response
show all
- Defined in:
- lib/httparty/response/headers.rb,
lib/httparty/response.rb
Overview
Defined Under Namespace
Classes: Headers
Constant Summary
collapse
- 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.
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/httparty/response.rb', line 15
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
123
124
125
126
127
128
129
130
131
|
# File 'lib/httparty/response.rb', line 123
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.
13
14
15
|
# File 'lib/httparty/response.rb', line 13
def body
@body
end
|
Returns the value of attribute headers.
13
14
15
|
# File 'lib/httparty/response.rb', line 13
def
@headers
end
|
#request ⇒ Object
Returns the value of attribute request.
13
14
15
|
# File 'lib/httparty/response.rb', line 13
def request
@request
end
|
#response ⇒ Object
Returns the value of attribute response.
13
14
15
|
# File 'lib/httparty/response.rb', line 13
def response
@response
end
|
Class Method Details
._load(data) ⇒ Object
7
8
9
10
11
|
# File 'lib/httparty/response.rb', line 7
def self._load(data)
req, resp, parsed_resp, resp_body = Marshal.load(data)
new(req, resp, -> { parsed_resp }, body: resp_body)
end
|
.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
#_dump(_level) ⇒ Object
117
118
119
|
# File 'lib/httparty/response.rb', line 117
def _dump(_level)
Marshal.dump([request, response, parsed_response, body])
end
|
#code ⇒ Object
38
39
40
|
# File 'lib/httparty/response.rb', line 38
def code
response.code.to_i
end
|
#display(port = $>) ⇒ Object
102
103
104
105
106
107
108
109
110
|
# File 'lib/httparty/response.rb', line 102
def display(port=$>)
if !parsed_response.nil? && parsed_response.respond_to?(:display)
parsed_response.display(port)
elsif !response.nil? && !response.body.nil? && response.body.respond_to?(:display)
response.body.display(port)
else
port.write(inspect)
end
end
|
#http_version ⇒ Object
42
43
44
|
# File 'lib/httparty/response.rb', line 42
def http_version
response.http_version
end
|
#inspect ⇒ Object
51
52
53
54
|
# File 'lib/httparty/response.rb', line 51
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
|
#nil? ⇒ Boolean
81
82
83
84
|
# File 'lib/httparty/response.rb', line 81
def nil?
warn_about_nil_deprecation
response.nil? || response.body.nil? || response.body.empty?
end
|
#parsed_response ⇒ Object
34
35
36
|
# File 'lib/httparty/response.rb', line 34
def parsed_response
@parsed_response ||= @parsed_block.call
end
|
#pretty_print(pp) ⇒ Object
94
95
96
97
98
99
100
|
# File 'lib/httparty/response.rb', line 94
def pretty_print(pp)
if !parsed_response.nil? && parsed_response.respond_to?(:pretty_print)
parsed_response.pretty_print(pp)
else
super
end
end
|
#respond_to_missing?(name, *args) ⇒ Boolean
112
113
114
115
|
# File 'lib/httparty/response.rb', line 112
def respond_to_missing?(name, *args)
return true if super
parsed_response.respond_to?(name) || response.respond_to?(name)
end
|
#tap {|_self| ... } ⇒ Object
46
47
48
49
|
# File 'lib/httparty/response.rb', line 46
def tap
yield self
self
end
|
#to_s ⇒ Object
86
87
88
89
90
91
92
|
# File 'lib/httparty/response.rb', line 86
def to_s
if !response.nil? && !response.body.nil? && response.body.respond_to?(:to_s)
response.body.to_s
else
inspect
end
end
|