requests: improved headline granularity; removed some proxy request header logic

This commit is contained in:
HoneyryderChuck 2017-12-21 16:24:24 +02:00
parent 44acebf424
commit f9d6ad0fd0
2 changed files with 9 additions and 9 deletions

View File

@ -120,8 +120,8 @@ module HTTPX
request.headers["connection"] ||= "keep-alive"
end
def headline(request)
"#{request.verb.to_s.upcase} #{request.path} HTTP/#{@version.join(".")}"
def headline_uri(request)
request.path
end
def handle(request)
@ -137,7 +137,7 @@ module HTTPX
def join_headers(request)
buffer = +""
buffer << headline(request) << CRLF
buffer << "#{request.verb.to_s.upcase} #{headline_uri(request)} HTTP/#{@version.join(".")}" << CRLF
log { "<- HEADLINE: #{buffer.chomp.inspect}" }
@buffer << buffer
buffer.clear

View File

@ -33,21 +33,22 @@ module HTTPX
end
module ConnectProxyParserMethods
def headline(request)
def headline_uri(request)
return super unless request.verb == :connect
uri = request.uri
"#{request.verb.to_s.upcase} #{uri.host}:#{uri.port} HTTP/#{@version.join(".")}"
"#{uri.host}:#{uri.port}"
end
end
module ProxyParserMethods
def headline(request)
"#{request.verb.to_s.upcase} #{request.uri.to_s} HTTP/#{@version.join(".")}"
def headline_uri(request)
"#{request.uri.to_s}"
end
def set_request_headers(request)
super
request.headers["proxy-connection"] = request.headers["connection"]
request.headers["proxy-connection"] = request.headers["connection"]
request.headers.delete("connection")
end
end
@ -180,7 +181,6 @@ module HTTPX
class ProxyRequest < Request
def initialize(uri, options = {})
super(:connect, uri, options)
@headers.delete("user-agent")
@headers.delete("accept")
end