Class: HTTPI::Auth::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/httpi/auth/config.rb

Overview

HTTPI::Auth::Config

Manages HTTP and SSL auth configuration. Currently supports HTTP basic/digest and SSL client authentication.

Constant Summary collapse

TYPES =

Supported authentication types.

[:basic, :digest, :ssl, :ntlm]

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#typeObject

Accessor for the authentication type in use.



77
78
79
# File 'lib/httpi/auth/config.rb', line 77

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.

Returns:

  • (Boolean)


24
25
26
# File 'lib/httpi/auth/config.rb', line 24

def basic?
  type == :basic
end

#credentialsObject

Shortcut method for returning the credentials for the authentication specified. Returns nil unless any authentication credentials were specified.



71
72
73
74
# File 'lib/httpi/auth/config.rb', line 71

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.

Returns:

  • (Boolean)


37
38
39
# File 'lib/httpi/auth/config.rb', line 37

def digest?
  type == :digest
end

#http?Boolean

Returns whether to use HTTP basic or dihest auth.

Returns:

  • (Boolean)


42
43
44
# File 'lib/httpi/auth/config.rb', line 42

def http?
  type == :basic || type == :digest
end

#ntlm(*args) ⇒ Object

Accessor for the NTLM auth credentials.



47
48
49
50
51
52
# File 'lib/httpi/auth/config.rb', line 47

def ntlm(*args)
  return @ntlm if args.empty?

  self.type = :ntlm
  @ntlm = args.flatten.compact
end

#ntlm?Boolean

Returns whether to use NTLM auth.

Returns:

  • (Boolean)


55
56
57
# File 'lib/httpi/auth/config.rb', line 55

def ntlm?
  type == :ntlm
end

#sslObject

Returns the HTTPI::Auth::SSL object.



60
61
62
# File 'lib/httpi/auth/config.rb', line 60

def ssl
  @ssl ||= SSL.new
end

#ssl?Boolean

Returns whether to use SSL client auth.

Returns:

  • (Boolean)


65
66
67
# File 'lib/httpi/auth/config.rb', line 65

def ssl?
  ssl.present?
end