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 # Tell the server to keep the conn open if default_options.persistent? headers[CONNECTION] = KEEP_ALIVE else headers[CONNECTION] = CLOSE end 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