class HTTP::Request
def initialize(opts)
(**opts)
-
:body
(String
) -- -
:proxy
(Hash
) -- -
:headers
(Hash
) -- -
:uri
(HTTP::URI, #to_s
) -- -
:verb
(#to_s
) -- HTTP request method -
:version
(String
) --
def initialize(opts) @verb = opts.fetch(:verb).to_s.downcase.to_sym @uri = normalize_uri(opts.fetch(:uri)) @scheme = @uri.scheme.to_s.downcase.to_sym if @uri.scheme raise(UnsupportedMethodError, "unknown method: #{verb}") unless METHODS.include?(@verb) raise(UnsupportedSchemeError, "unknown scheme: #{scheme}") unless SCHEMES.include?(@scheme) @proxy = opts[:proxy] || {} @body = opts[:body] @version = opts[:version] || "1.1" @headers = HTTP::Headers.coerce(opts[:headers] || {}) @headers[Headers::HOST] ||= default_host_header_value @headers[Headers::USER_AGENT] ||= USER_AGENT end