          self.history.insert(0, self.now)
          cache.set(self.key, self.history, self.duration)
      
      def throttle_failure(self):
          """Raises a 503 """
          raise _503_THROTTLED_RESPONSE
      
  class PerUserThrottling(BaseThrottle):
      """
      The user id will be used as a unique identifier if the user is authenticated.
      For anonymous requests, the IP address of the client will be used.
      """
 
</s> remove     The user id will be used as a unique identifier if the user is authenticated.
    For anonymous requests, the IP address of the client will be used.
 </s> add     Limits the rate of API calls that may be made by a given user.

    The user id will be used as a unique identifier if the user is
    authenticated. For anonymous requests, the IP address of the client will
    be used. </s> remove     The class name of the cuurent view will be used as a unique identifier.
 </s> add     Limits the rate of API calls that may be used on a given view.

    The class name of the view is used as a unique identifier to
    throttle against. </s> remove         return 'throttle_%s' % self.view.__class__.__name__
    
 </s> add         return 'throttle_view_%s' % self.view.__class__.__name__

   </s> remove     The class name of the cuurent resource will be used as a unique identifier.
    Raises :exc:`ConfigurationException` if no resource attribute is set on the view class.
 </s> add     Limits the rate of API calls that may be used against all views on
    a given resource.

    The class name of the resource is used as a unique identifier to
    throttle against. </s> remove         return 'throttle_%s' % ident
 </s> add         return 'throttle_user_%s' % ident

        """
        Called when a request to the API has failed due to throttling.
        Raises a '503 service unavailable' response.
        """
        raise _503_SERVICE_UNAVAILABLE


          self.history.insert(0, self.now)
          cache.set(self.key, self.history, self.duration)
      
      def throttle_failure(self):
        """
        Called when a request to the API has failed due to throttling.
        Raises a '503 service unavailable' response.
        """
        raise _503_SERVICE_UNAVAILABLE


        """
        Called when a request to the API has failed due to throttling.
        Raises a '503 service unavailable' response.
        """
        raise _503_SERVICE_UNAVAILABLE


        """
        Called when a request to the API has failed due to throttling.
        Raises a '503 service unavailable' response.
        """
        raise _503_SERVICE_UNAVAILABLE


  class PerUserThrottling(BaseThrottle):
      """
      The user id will be used as a unique identifier if the user is authenticated.
      For anonymous requests, the IP address of the client will be used.
      """
keep keep keep keep replace replace replace keep keep keep keep keep
 Bits of cleaning up for the throttling 
djangorestframework/permissions.py