  
      def check_permission(self, auth):
          """
          Check the throttling.
          Return `None` or raise an :exc:`.ErrorResponse`.
          """
          num, period = getattr(self.view, self.attr_name, self.default).split('/')
          self.num_requests = int(num)
          self.duration = {'s': 1, 'm': 60, 'h': 3600, 'd': 86400}[period[0]]
          self.auth = auth
 
</s> remove         Should simply return, or raise an :exc:`response.ErrorResponse`.
 </s> add         Should simply return, or raise an :exc:`response.ImmediateResponse`. </s> remove     renderers = renderers.DEFAULT_RENDERERS
 </s> add     renderer_classes = renderers.DEFAULT_RENDERERS </s> remove         raise ErrorResponse(content=detail, status=400)
 </s> add         raise ImmediateResponse(content=detail, status=400) </s> remove         May raise a 415 ErrorResponse (Unsupported Media Type), or a 400 ErrorResponse (Bad Request).
 </s> add         May raise a 415 ImmediateResponse (Unsupported Media Type), or a 400 ImmediateResponse (Bad Request). </s> remove _403_FORBIDDEN_RESPONSE = ErrorResponse(
 </s> add _403_FORBIDDEN_RESPONSE = ImmediateResponse(
        Return `None` or raise an :exc:`.ImmediateResponse`.
  
      def check_permission(self, auth):
          """
          Check the throttling.
        Return `None` or raise an :exc:`.ImmediateResponse`.
          """
          num, period = getattr(self.view, self.attr_name, self.default).split('/')
          self.num_requests = int(num)
          self.duration = {'s': 1, 'm': 60, 'h': 3600, 'd': 86400}[period[0]]
          self.auth = auth
keep keep keep keep replace keep keep keep keep keep
 cleaned a bit Response/ResponseMixin code, added some documentation + renamed ErrorResponse to ImmediateResponse 
djangorestframework/permissions.py