Class: Net::HTTP
- Inherits:
-
Object
- Object
- Net::HTTP
- Defined in:
- lib/http_proxy_from_env/net/http.rb
Instance Attribute Summary collapse
- #proxy_address ⇒ Object
-
#proxy_from_env ⇒ Object
writeonly
Sets the attribute proxy_from_env.
- #proxy_pass ⇒ Object
- #proxy_port ⇒ Object
- #proxy_user ⇒ Object
Class Method Summary collapse
- .new(address, port = nil, p_addr = :ENV, p_port = nil, p_user = nil, p_pass = nil) ⇒ Object
- .Proxy(p_addr = :ENV, p_port = nil, p_user = nil, p_pass = nil) ⇒ Object
Instance Method Summary collapse
- #conn_address ⇒ Object
- #conn_port ⇒ Object
- #edit_path(path) ⇒ Object
- #proxy? ⇒ Boolean
- #proxy_from_env? ⇒ Boolean
- #proxy_uri ⇒ Object
Instance Attribute Details
#proxy_address ⇒ Object
77 78 79 80 81 82 83 |
# File 'lib/http_proxy_from_env/net/http.rb', line 77 def proxy_address if @proxy_from_env then proxy_uri && proxy_uri.hostname else @proxy_address end end |
#proxy_from_env=(value) ⇒ Object (writeonly)
Sets the attribute proxy_from_env
55 56 57 |
# File 'lib/http_proxy_from_env/net/http.rb', line 55 def proxy_from_env=(value) @proxy_from_env = value end |
#proxy_pass ⇒ Object
118 119 120 121 122 123 124 |
# File 'lib/http_proxy_from_env/net/http.rb', line 118 def proxy_pass if @proxy_from_env then @proxy_pass || proxy_uri && proxy_uri.password else @proxy_pass end end |
#proxy_port ⇒ Object
85 86 87 88 89 90 91 |
# File 'lib/http_proxy_from_env/net/http.rb', line 85 def proxy_port if @proxy_from_env then proxy_uri && proxy_uri.port else @proxy_port end end |
#proxy_user ⇒ Object
110 111 112 113 114 115 116 |
# File 'lib/http_proxy_from_env/net/http.rb', line 110 def proxy_user if @proxy_from_env then @proxy_user || proxy_uri && proxy_uri.user else @proxy_user end end |
Class Method Details
.new(address, port = nil, p_addr = :ENV, p_port = nil, p_user = nil, p_pass = nil) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/http_proxy_from_env/net/http.rb', line 6 def self.new(address, port = nil, p_addr = :ENV, p_port = nil, p_user = nil, p_pass = nil) http = super address, port if proxy_class? then # from Net::HTTP::Proxy() http.proxy_from_env = @proxy_from_env http.proxy_address = @proxy_address http.proxy_port = @proxy_port http.proxy_user = @proxy_user http.proxy_pass = @proxy_pass elsif p_addr == :ENV then http.proxy_from_env = true else http.proxy_address = p_addr http.proxy_port = p_port || default_port http.proxy_user = p_user http.proxy_pass = p_pass end http end |
.Proxy(p_addr = :ENV, p_port = nil, p_user = nil, p_pass = nil) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/http_proxy_from_env/net/http.rb', line 27 def self.Proxy(p_addr = :ENV, p_port = nil, p_user = nil, p_pass = nil) return self unless p_addr Class.new(self) { @is_proxy_class = true if p_addr == :ENV then @proxy_from_env = true @proxy_address = nil @proxy_port = nil else @proxy_from_env = false @proxy_address = p_addr @proxy_port = p_port || default_port end @proxy_user = p_user @proxy_pass = p_pass } end |
Instance Method Details
#conn_address ⇒ Object
101 102 103 |
# File 'lib/http_proxy_from_env/net/http.rb', line 101 def conn_address proxy? ? proxy_address : address end |
#conn_port ⇒ Object
105 106 107 |
# File 'lib/http_proxy_from_env/net/http.rb', line 105 def conn_port proxy? ? proxy_port : port end |
#edit_path(path) ⇒ Object
93 94 95 96 97 98 99 |
# File 'lib/http_proxy_from_env/net/http.rb', line 93 def edit_path(path) if proxy? and not use_ssl? then "http://#{addr_port}#{path}" else path end end |
#proxy? ⇒ Boolean
61 62 63 64 65 66 67 |
# File 'lib/http_proxy_from_env/net/http.rb', line 61 def proxy? if @proxy_from_env then proxy_uri else @proxy_address end end |
#proxy_from_env? ⇒ Boolean
69 70 71 |
# File 'lib/http_proxy_from_env/net/http.rb', line 69 def proxy_from_env? @proxy_from_env end |
#proxy_uri ⇒ Object
73 74 75 |
# File 'lib/http_proxy_from_env/net/http.rb', line 73 def proxy_uri @proxy_uri ||= URI("http://#{address}:#{port}").find_proxy end |