class RestClient::Response
A Response from RestClient, you can access the response body, the code or the headers.
Public Class Methods
create(body, net_http_res, request)
click to toggle source
# File lib/restclient/response.rb, line 41 def self.create(body, net_http_res, request) result = self.new(body || '') result.response_set_vars(net_http_res, request) fix_encoding(result) result end
fix_encoding(response)
click to toggle source
# File lib/restclient/response.rb, line 50 def self.fix_encoding(response) charset = RestClient::Utils.get_encoding_from_headers(response.headers) encoding = nil begin encoding = Encoding.find(charset) if charset rescue ArgumentError if RestClient.log RestClient.log << "No such encoding: #{charset.inspect}" end end return unless encoding response.force_encoding(encoding) response end
Public Instance Methods
body()
click to toggle source
Return the HTTP response body.
Future versions of RestClient will deprecate treating response objects directly as strings, so it will be necessary to call `.body`.
@return [String]
# File lib/restclient/response.rb, line 16 def body # Benchmarking suggests that "#{self}" is fastest, and that caching the # body string in an instance variable doesn't make it enough faster to be # worth the extra memory storage. String.new(self) end
inspect()
click to toggle source
# File lib/restclient/response.rb, line 37 def inspect "<RestClient::Response #{code.inspect} #{body_truncated(10).inspect}>" end
to_s()
click to toggle source
Convert the HTTP response body to a pure String object.
@return [String]
# File lib/restclient/response.rb, line 26 def to_s body end
to_str()
click to toggle source
Convert the HTTP response body to a pure String object.
@return [String]
# File lib/restclient/response.rb, line 33 def to_str body end
Private Instance Methods
body_truncated(length)
click to toggle source
# File lib/restclient/response.rb, line 71 def body_truncated(length) b = body if b.length > length b[0..length] + '...' else b end end