Class: HTTPI::Auth::Config
- Inherits:
-
Object
- Object
- HTTPI::Auth::Config
- Defined in:
- lib/httpi/auth/config.rb
Overview
HTTPI::Auth::Config
Manages HTTP and SSL auth configuration. Currently supports HTTP basic/digest, Negotiate/SPNEGO, and SSL client authentication.
Constant Summary collapse
- TYPES =
Supported authentication types.
[:basic, :digest, :gssnegotiate, :ssl, :ntlm]
Instance Attribute Summary collapse
-
#type ⇒ Object
Accessor for the authentication type in use.
Instance Method Summary collapse
-
#basic(*args) ⇒ Object
Accessor for the HTTP basic auth credentials.
-
#basic? ⇒ Boolean
Returns whether to use HTTP basic auth.
-
#credentials ⇒ Object
Shortcut method for returning the credentials for the authentication specified.
-
#digest(*args) ⇒ Object
Accessor for the HTTP digest auth credentials.
-
#digest? ⇒ Boolean
Returns whether to use HTTP digest auth.
-
#gssnegotiate ⇒ Object
Enable HTTP Negotiate/SPNEGO authentication.
-
#gssnegotiate? ⇒ Boolean
Returns whether to use HTTP Negotiate/SPNEGO auth.
-
#http? ⇒ Boolean
Returns whether to use HTTP basic or dihest auth.
- #ntlm(*args) ⇒ Object
- #ntlm? ⇒ Boolean
-
#ssl ⇒ Object
Returns the
HTTPI::Auth::SSL
object. -
#ssl? ⇒ Boolean
Returns whether to use SSL client auth.
Instance Attribute Details
#type ⇒ Object
Accessor for the authentication type in use.
85 86 87 |
# File 'lib/httpi/auth/config.rb', line 85 def type @type end |
Instance Method Details
#basic(*args) ⇒ Object
Accessor for the HTTP basic auth credentials.
16 17 18 19 20 21 |
# File 'lib/httpi/auth/config.rb', line 16 def basic(*args) return @basic if args.empty? self.type = :basic @basic = args.flatten.compact end |
#basic? ⇒ Boolean
Returns whether to use HTTP basic auth.
24 25 26 |
# File 'lib/httpi/auth/config.rb', line 24 def basic? type == :basic end |
#credentials ⇒ Object
Shortcut method for returning the credentials for the authentication specified. Returns nil
unless any authentication credentials were specified.
79 80 81 82 |
# File 'lib/httpi/auth/config.rb', line 79 def credentials return unless type send type end |
#digest(*args) ⇒ Object
Accessor for the HTTP digest auth credentials.
29 30 31 32 33 34 |
# File 'lib/httpi/auth/config.rb', line 29 def digest(*args) return @digest if args.empty? self.type = :digest @digest = args.flatten.compact end |
#digest? ⇒ Boolean
Returns whether to use HTTP digest auth.
37 38 39 |
# File 'lib/httpi/auth/config.rb', line 37 def digest? type == :digest end |
#gssnegotiate ⇒ Object
Enable HTTP Negotiate/SPNEGO authentication.
42 43 44 |
# File 'lib/httpi/auth/config.rb', line 42 def gssnegotiate self.type = :gssnegotiate end |
#gssnegotiate? ⇒ Boolean
Returns whether to use HTTP Negotiate/SPNEGO auth.
47 48 49 |
# File 'lib/httpi/auth/config.rb', line 47 def gssnegotiate? type == :gssnegotiate end |
#http? ⇒ Boolean
Returns whether to use HTTP basic or dihest auth.
52 53 54 |
# File 'lib/httpi/auth/config.rb', line 52 def http? type == :basic || type == :digest end |
#ntlm(*args) ⇒ Object
56 57 58 59 60 61 |
# File 'lib/httpi/auth/config.rb', line 56 def ntlm(*args) return @ntlm if args.empty? self.type = :ntlm @ntlm = args.flatten.compact end |
#ntlm? ⇒ Boolean
63 64 65 |
# File 'lib/httpi/auth/config.rb', line 63 def ntlm? type == :ntlm end |
#ssl ⇒ Object
Returns the HTTPI::Auth::SSL
object.
68 69 70 |
# File 'lib/httpi/auth/config.rb', line 68 def ssl @ssl ||= SSL.new end |
#ssl? ⇒ Boolean
Returns whether to use SSL client auth.
73 74 75 |
# File 'lib/httpi/auth/config.rb', line 73 def ssl? ssl.present? end |