3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/hidemyass/http.rb', line 3
def HTTP.start(address, *arg, &block)
HideMyAss.log 'Connecting to ' + address + ' through:'
response = nil
if HideMyAss.options[:local]
begin
HideMyAss.log 'localhost...'
response = Net::HTTP.start(address, *arg, &block)
if response.class.ancestors.include?(Net::HTTPSuccess)
return response
end
rescue *HTTP_ERRORS => error
HideMyAss.log error
end
end
HideMyAss.proxies.each do |proxy|
begin
HideMyAss.log proxy[:host] + ':' + proxy[:port]
response = Net::HTTP::Proxy(proxy[:host], proxy[:port]).start(address, *arg, &block)
HideMyAss.log response.class.to_s
if response.class.ancestors.include?(Net::HTTPSuccess)
return response
end
rescue *HTTP_ERRORS => error
HideMyAss.log error
end
end
response
end
|