Class: Net::HTTP

Inherits:
Object
  • Object
show all
Defined in:
lib/http_proxy_from_env/net/http.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#proxy_addressObject



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

Parameters:

  • value

    the value to set the attribute proxy_from_env to.



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_passObject



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_portObject



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_userObject



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_addressObject



101
102
103
# File 'lib/http_proxy_from_env/net/http.rb', line 101

def conn_address
  proxy? ? proxy_address : address
end

#conn_portObject



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

Returns:

  • (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

Returns:

  • (Boolean)


69
70
71
# File 'lib/http_proxy_from_env/net/http.rb', line 69

def proxy_from_env?
  @proxy_from_env
end

#proxy_uriObject



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