class HTTP::Client
def request(verb, uri, opts = {})
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