Sha256: edd7459a063b00473e7d1fa97101d40c1206dd109313fc5a7d8ab621d449e292
Contents?: true
Size: 1.78 KB
Versions: 2
Compression:
Stored size: 1.78 KB
Contents
module ProxyPacRb # Pac file class ProxyPacFile include Comparable attr_accessor :valid, :type, :message, :readable, :javascript, :parsable, :source attr_writer :content def initialize(source:) if source.is_a? ProxyPacFile self.valid = source.valid self.type = source.type self.message = source.message self.readable = source.readable self.javascript = source.javascript self.parsable = source.parsable self.content = source.content self.source = source.source else @source = source @valid = false @parsable = false @readable = false end end def content? !@content.nil? end def content return nil if @content.nil? @content.dup end def <=>(other) content <=> other.content end def type?(t) type == t end def readable? readable == true end def valid? valid == true end def parsable? parsable == true end def javascript? !javascript.nil? end def find(url, fail_safe: true) if fail_safe == true fail ProxyPacInvalidError, "The proxy.pac \"#{source}\" is not readable. Stopping here." unless readable? fail ProxyPacInvalidError, "The proxy.pac \"#{source}\" is not valid: #{message}. Stopping here." unless valid? fail ProxyPacInvalidError, "The proxy.pac \"#{source}\" is could not be parsed. There's no compiled javascript to use to lookup a url: #{message}. Stopping here." unless javascript? end uri = Addressable::URI.heuristic_parse(url) fail UrlInvalidError, 'url is missing host' unless uri.host javascript.FindProxyForURL(uri.to_s, uri.host) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
proxy_pac_rb-0.5.1 | lib/proxy_pac_rb/proxy_pac_file.rb |
proxy_pac_rb-0.5.0 | lib/proxy_pac_rb/proxy_pac_file.rb |