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]

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#typeObject

Accessor for the authentication type in use.



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

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:



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.



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

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:



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:



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

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

#sslObject

Returns the HTTPI::Auth::SSL object.



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

def ssl
  @ssl ||= SSL.new
end

#ssl?Boolean

Returns whether to use SSL client auth.

Returns:



52
53
54
# File 'lib/httpi/auth/config.rb', line 52

def ssl?
  ssl.present?
end