diff options
Diffstat (limited to 'lib/net/http.rb')
-rw-r--r-- | lib/net/http.rb | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/net/http.rb b/lib/net/http.rb index 4e284a5af4..2a7190f126 100644 --- a/lib/net/http.rb +++ b/lib/net/http.rb @@ -420,7 +420,11 @@ All "key" is case-insensitive. @http_version = HTTPVersion @in_header = {} - @in_header[ 'Host' ] = sock.addr + if sock.port == HTTP.port + @in_header[ 'Host' ] = sock.addr + else + @in_header[ 'Host' ] = sock.addr + ':' + sock.port + end @in_header[ 'Connection' ] = 'Keep-Alive' @in_header[ 'Accept' ] = '*/*' @@ -505,6 +509,12 @@ All "key" is case-insensitive. if tmp and /close/i === tmp then @socket.read_all dest @socket.close + else + tmp = resp['proxy-connection'] + if tmp and /close/i === tmp then + @socket.read_all dest + @socket.close + end end end end |