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

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

Instance Method Summary collapse

Methods inherited from AbstractRequest

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

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)


33
34
35
36
37
# File 'lib/rack/auth/digest/request.rb', line 33

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)


17
18
19
# File 'lib/rack/auth/digest/request.rb', line 17

def correct_uri?
  request.fullpath == uri
end

#digest?Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/rack/auth/digest/request.rb', line 13

def digest?
  "digest" == scheme
end

#methodObject



9
10
11
# File 'lib/rack/auth/digest/request.rb', line 9

def method
  @env['rack.methodoverride.original_method'] || @env[REQUEST_METHOD]
end

#nonceObject



21
22
23
# File 'lib/rack/auth/digest/request.rb', line 21

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

#paramsObject



25
26
27
# File 'lib/rack/auth/digest/request.rb', line 25

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

#respond_to?(sym) ⇒ Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/rack/auth/digest/request.rb', line 29

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