class HTTP::Response
def content_type
-
(HTTP::ContentType)
-
def content_type @content_type ||= ContentType.parse headers[Headers::CONTENT_TYPE] end
def cookies
def cookies @cookies ||= headers.each_with_object CookieJar.new do |(k, v), jar| jar.parse(v, uri) if k == Headers::SET_COOKIE end end
def flush
-
(Response)
-
def flush body.to_s self end
def initialize(opts)
(**opts)
-
:uri
(String
) -- -
:body
(String
) -- -
:encoding
(String
) -- Encoding to use when reading body -
:connection
(HTTP::Connection
) -- -
:headers
(Hash
) -- -
:version
(String
) -- HTTP version -
:status
(Integer
) -- Status code
def initialize(opts) @version = opts.fetch(:version) @uri = HTTP::URI.parse(opts.fetch(:uri)) if opts.include? :uri @status = HTTP::Response::Status.new(opts.fetch(:status)) @headers = HTTP::Headers.coerce(opts[:headers] || {}) if opts.include?(:connection) connection = opts.fetch(:connection) encoding = opts[:encoding] || charset || Encoding::BINARY @body = Response::Body.new(connection, encoding) else @body = opts.fetch(:body) end end
def inspect
def inspect "#<#{self.class}/#{@version} #{code} #{reason} #{headers.to_h.inspect}>" end
def parse(as = nil)
-
(Object)
-
Raises:
-
(Error)
- if adapter not found
Parameters:
-
as
(#to_s
) -- Parse as given MIME type
def parse(as = nil) MimeType[as || mime_type].decode to_s end
def to_a
-
(Array(Fixnum, Hash, String))
-
def to_a [status.to_i, headers.to_h, body.to_s] end