class Rack::Auth::Digest::MD5

def call(env)

def call(env)
  auth = Request.new(env)
  unless auth.provided?
    return unauthorized
  end
  if !auth.digest? || !auth.correct_uri? || !valid_qop?(auth)
    return bad_request
  end
  if valid?(auth)
    if auth.nonce.stale?
      return unauthorized(challenge(stale: true))
    else
      env['REMOTE_USER'] = auth.username
      return @app.call(env)
    end
  end
  unauthorized
end