class HTTP::Client

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

Make an HTTP request
def 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)
  proxy   = opts.proxy
  req = HTTP::Request.new(verb, uri, headers, proxy, body)
  res = perform req, opts
  return res unless opts.follow
  Redirector.new(opts.follow).perform req, res do |request|
    perform request, opts
  end
end