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