def send_request
data = []
request_uri = @options[:path]
if @proxy
request_uri = "#{uri_base}:#{@options[:port]}#{request_uri}"
end
content = @options[:content]
unless (q = query).empty?
if @options[:method].to_s.upcase == 'GET'
request_uri << "?#{q}"
else
content = q
end
end
data << "#{@options[:method]} #{request_uri} HTTP/1.1"
data << "Host: #{@options[:host]}"
data << 'Accept: */*'
data << "User-Agent: #{@options[:user_agent]}" if @options[:user_agent]
if @options[:auth]
data << "Authorization: Basic #{[@options[:auth]].pack('m').delete("\r\n")}"
elsif @options[:oauth]
data << "Authorization: #{oauth_header}"
end
if @proxy && @proxy.user
data << "Proxy-Authorization: Basic " + ["#{@proxy.user}:#{@proxy.password}"].pack('m').delete("\r\n")
end
if @options[:method] == 'POST'
data << "Content-type: #{@options[:content_type]}"
data << "Content-length: #{content.length}"
end
data << "\r\n"
send_data data.join("\r\n") << content
end