    # File lib/rack/auth/digest/md5.rb, line 37
            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