Class: HTTPX::Plugins::Proxy::Parameters
- Inherits:
-
Object
- Object
- HTTPX::Plugins::Proxy::Parameters
- Defined in:
- lib/httpx/plugins/proxy.rb
Instance Attribute Summary collapse
-
#no_proxy ⇒ Object
readonly
Returns the value of attribute no_proxy.
-
#password ⇒ Object
readonly
Returns the value of attribute password.
-
#scheme ⇒ Object
readonly
Returns the value of attribute scheme.
-
#uri ⇒ Object
readonly
Returns the value of attribute uri.
-
#username ⇒ Object
readonly
Returns the value of attribute username.
Instance Method Summary collapse
- #==(other) ⇒ Object
- #authenticate(*args) ⇒ Object
- #can_authenticate?(*args) ⇒ Boolean
-
#initialize(uri: nil, scheme: nil, username: nil, password: nil, no_proxy: nil, **extra) ⇒ Parameters
constructor
A new instance of Parameters.
- #shift ⇒ Object
Constructor Details
#initialize(uri: nil, scheme: nil, username: nil, password: nil, no_proxy: nil, **extra) ⇒ Parameters
Returns a new instance of Parameters.
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/httpx/plugins/proxy.rb', line 45 def initialize(uri: nil, scheme: nil, username: nil, password: nil, no_proxy: nil, **extra) @no_proxy = Array(no_proxy) if no_proxy @uris = Array(uri) uri = @uris.first @username = username @password = password @ns = 0 if uri @uri = uri.is_a?(URI::Generic) ? uri : URI(uri) @username ||= @uri.user @password ||= @uri.password end @scheme = scheme return unless @uri && @username && @password @authenticator = nil @scheme ||= infer_default_auth_scheme(@uri) return unless @scheme @username = CGI.unescape(@username) if @username @password = CGI.unescape(@password) if @password @authenticator = load_authenticator(@scheme, @username, @password, **extra) end |
Instance Attribute Details
#no_proxy ⇒ Object (readonly)
Returns the value of attribute no_proxy.
43 44 45 |
# File 'lib/httpx/plugins/proxy.rb', line 43 def no_proxy @no_proxy end |
#password ⇒ Object (readonly)
Returns the value of attribute password.
43 44 45 |
# File 'lib/httpx/plugins/proxy.rb', line 43 def password @password end |
#scheme ⇒ Object (readonly)
Returns the value of attribute scheme.
43 44 45 |
# File 'lib/httpx/plugins/proxy.rb', line 43 def scheme @scheme end |
#uri ⇒ Object (readonly)
Returns the value of attribute uri.
43 44 45 |
# File 'lib/httpx/plugins/proxy.rb', line 43 def uri @uri end |
#username ⇒ Object (readonly)
Returns the value of attribute username.
43 44 45 |
# File 'lib/httpx/plugins/proxy.rb', line 43 def username @username end |
Instance Method Details
#==(other) ⇒ Object
107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
# File 'lib/httpx/plugins/proxy.rb', line 107 def ==(other) case other when Parameters @uri == other.uri && @username == other.username && @password == other.password && @scheme == other.scheme when URI::Generic, String proxy_uri = @uri.dup proxy_uri.user = @username proxy_uri.password = @password other_uri = other.is_a?(URI::Generic) ? other : URI.parse(other) proxy_uri == other_uri else super end end |
#authenticate(*args) ⇒ Object
101 102 103 104 105 |
# File 'lib/httpx/plugins/proxy.rb', line 101 def authenticate(*args) return unless @authenticator @authenticator.authenticate(*args) end |
#can_authenticate?(*args) ⇒ Boolean
95 96 97 98 99 |
# File 'lib/httpx/plugins/proxy.rb', line 95 def can_authenticate?(*args) return false unless @authenticator && @authenticator.respond_to?(:can_authenticate?) @authenticator.can_authenticate?(*args) end |
#shift ⇒ Object
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/httpx/plugins/proxy.rb', line 76 def shift # TODO: this operation must be synchronized @ns += 1 @uri = @uris[@ns] return unless @uri @uri = URI(@uri) unless @uri.is_a?(URI::Generic) scheme = infer_default_auth_scheme(@uri) return unless scheme != @scheme @scheme = scheme @username = username || @uri.user @password = password || @uri.password @authenticator = load_authenticator(scheme, @username, @password) end |