Module: Watobo::ForwardingProxy

Defined in:
lib/watobo/core/forwarding_proxy.rb

Overview

:nodoc: all

Class Method Summary collapse

Class Method Details

.get(site = nil) ⇒ Object



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
34
35
36
37
38
# File 'lib/watobo/core/forwarding_proxy.rb', line 6

def self.get(site=nil)
  begin
    fp = Watobo::Conf::ForwardingProxy.to_h
    
    if site.nil?
      return nil if Watobo::Conf::ForwardingProxy.default_proxy.empty?
      name = Watobo::Conf::ForwardingProxy.default_proxy          
      proxy = fp[name]
      return Watobo::Proxy.new(proxy)
    end
    
    fp.each do |pn, ps|
      # ignore old style proxy 
      next unless ps.respond_to? :has_key?
      next unless ps.has_key? :enabled
      next unless ps[:enabled]
      
      if ps.has_key? :target_pattern
        pat = ps[:target_pattern]
        pat = ".*" if pat == "*"
        if site =~ /#{ps[:target_pattern]}/
          proxy = Watobo::Proxy.new(ps)
          return proxy
        end
      end
    end        

  rescue => bang
    puts bang
    puts bang.backtrace
  end
  return nil
end