added supported for authenticated proxy requests (didn't test it yet, though)

This commit is contained in:
HoneyryderChuck 2017-12-21 17:09:28 +02:00
parent eac3955892
commit 6f2d4c1540

View File

@ -5,6 +5,10 @@ require "forwardable"
module HTTPX module HTTPX
module Plugins module Plugins
module Proxy module Proxy
def self.load_dependencies(*)
require "base64"
end
class Parameters class Parameters
attr_reader :uri attr_reader :uri
@ -15,7 +19,11 @@ module HTTPX
end end
def authenticated? def authenticated?
false @username && @password
end
def token_authentication
Base64.strict_encode64("#{user}:#{password}")
end end
end end
@ -125,7 +133,7 @@ module HTTPX
transition(:connect) transition(:connect)
connect_request = ProxyRequest.new(req.uri) connect_request = ProxyRequest.new(req.uri)
if @parameters.authenticated? if @parameters.authenticated?
connect_request.headers["proxy-authentication"] = @parameters.token_authentication connect_request.headers["proxy-authentication"] = "Basic #{@parameters.token_authentication}"
end end
parser.send(connect_request) parser.send(connect_request)
end end