Class: HTTPX::Plugins::Proxy::Parameters
- Inherits:
-
Object
- Object
- HTTPX::Plugins::Proxy::Parameters
- Defined in:
- lib/httpx/plugins/proxy.rb
Instance Attribute Summary collapse
-
#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:, scheme: nil, username: nil, password: nil, **extra) ⇒ Parameters
constructor
A new instance of Parameters.
Constructor Details
#initialize(uri:, scheme: nil, username: nil, password: nil, **extra) ⇒ Parameters
Returns a new instance of Parameters.
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/httpx/plugins/proxy.rb', line 36 def initialize(uri:, scheme: nil, username: nil, password: nil, **extra) @uri = uri.is_a?(URI::Generic) ? uri : URI(uri) @username = username || @uri.user @password = password || @uri.password return unless @username && @password scheme ||= case @uri.scheme when "socks5" @uri.scheme when "http", "https" "basic" else return end @scheme = scheme auth_scheme = scheme.to_s.capitalize require_relative "auth/#{scheme}" unless defined?(Authentication) && Authentication.const_defined?(auth_scheme, false) @authenticator = Authentication.const_get(auth_scheme).new(@username, @password, **extra) end |
Instance Attribute Details
#password ⇒ Object (readonly)
Returns the value of attribute password.
34 35 36 |
# File 'lib/httpx/plugins/proxy.rb', line 34 def password @password end |
#scheme ⇒ Object (readonly)
Returns the value of attribute scheme.
34 35 36 |
# File 'lib/httpx/plugins/proxy.rb', line 34 def scheme @scheme end |
#uri ⇒ Object (readonly)
Returns the value of attribute uri.
34 35 36 |
# File 'lib/httpx/plugins/proxy.rb', line 34 def uri @uri end |
#username ⇒ Object (readonly)
Returns the value of attribute username.
34 35 36 |
# File 'lib/httpx/plugins/proxy.rb', line 34 def username @username end |
Instance Method Details
#==(other) ⇒ Object
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/httpx/plugins/proxy.rb', line 73 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
67 68 69 70 71 |
# File 'lib/httpx/plugins/proxy.rb', line 67 def authenticate(*args) return unless @authenticator @authenticator.authenticate(*args) end |
#can_authenticate?(*args) ⇒ Boolean
61 62 63 64 65 |
# File 'lib/httpx/plugins/proxy.rb', line 61 def can_authenticate?(*args) return false unless @authenticator @authenticator.can_authenticate?(*args) end |