          """
          for authenticator in self.authenticators:
              user_auth_tuple = authenticator.authenticate(self)
              if not user_auth_tuple is None:
                  return user_auth_tuple
          return self._not_authenticated()
  
      def _not_authenticated(self):
          """
          Return a two-tuple of (user, authtoken), representing an
 
</s> remove         Attempt to authenticate the request using each authentication instance in turn.
        Returns a two-tuple of (user, authtoken).
 </s> add         Attempt to authenticate the request using each authentication instance
        in turn.
        Returns a three-tuple of (authenticator, user, authtoken). </s> remove         Return a two-tuple of (user, authtoken), representing an
        unauthenticated request.
 </s> add         Return a three-tuple of (authenticator, user, authtoken), representing
        an unauthenticated request. </s> remove         By default this will be (AnonymousUser, None).
 </s> add         By default this will be (None, AnonymousUser, None). </s> remove             return
 </s> add             return None
                user, auth = user_auth_tuple
                return (authenticator, user, auth)
          """
          for authenticator in self.authenticators:
              user_auth_tuple = authenticator.authenticate(self)
              if not user_auth_tuple is None:
                user, auth = user_auth_tuple
                return (authenticator, user, auth)
          return self._not_authenticated()
  
      def _not_authenticated(self):
          """
          Return a two-tuple of (user, authtoken), representing an
keep keep keep keep replace keep keep keep keep keep
 Implementing 401 vs 403 responses 
rest_framework/request.py