class HTTP::Client

def build_request(verb, uri, opts = {})

Prepare an HTTP request
def build_request(verb, uri, opts = {})
  opts    = @default_options.merge(opts)
  uri     = make_request_uri(uri, opts)
  headers = make_request_headers(opts)
  body    = make_request_body(opts, headers)
  req = HTTP::Request.new(
    :verb           => verb,
    :uri            => uri,
    :uri_normalizer => opts.feature(:normalize_uri)&.normalizer,
    :proxy          => opts.proxy,
    :headers        => headers,
    :body           => body
  )
  wrap_request(req, opts)
end