Class: Rack::Auth::Digest::Request

Inherits:
AbstractRequest show all
Defined in:
lib/rack/auth/digest.rb

Instance Method Summary collapse

Methods inherited from AbstractRequest

#initialize, #parts, #provided?, #request, #scheme, #valid?

Constructor Details

This class inherits a constructor from Rack::Auth::AbstractRequest

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(sym, *args) ⇒ Object

Raises:

  • (ArgumentError)


129
130
131
132
133
# File 'lib/rack/auth/digest.rb', line 129

def method_missing(sym, *args)
  return super unless params.has_key?(key = sym.to_s)
  return params[key] if args.size == 0
  raise ArgumentError, "wrong number of arguments (#{args.size} for 0)"
end

Instance Method Details

#correct_uri?Boolean

Returns:

  • (Boolean)


113
114
115
# File 'lib/rack/auth/digest.rb', line 113

def correct_uri?
  request.fullpath == uri
end

#digest?Boolean

Returns:

  • (Boolean)


109
110
111
# File 'lib/rack/auth/digest.rb', line 109

def digest?
  "digest" == scheme
end

#methodObject



105
106
107
# File 'lib/rack/auth/digest.rb', line 105

def method
  @env[RACK_METHODOVERRIDE_ORIGINAL_METHOD] || @env[REQUEST_METHOD]
end

#nonceObject



117
118
119
# File 'lib/rack/auth/digest.rb', line 117

def nonce
  @nonce ||= Nonce.parse(params['nonce'])
end

#paramsObject



121
122
123
# File 'lib/rack/auth/digest.rb', line 121

def params
  @params ||= Params.parse(parts.last)
end

#respond_to?(sym) ⇒ Boolean

Returns:

  • (Boolean)


125
126
127
# File 'lib/rack/auth/digest.rb', line 125

def respond_to?(sym, *)
  super or params.has_key? sym.to_s
end