          # DataAndFiles object.  Unpack the result as required.
          try:
              return (parsed.data, parsed.files)
          except AttributeError:
              return (parsed, None)
  
      def _authenticate(self):
          """
          Attempt to authenticate the request using each authentication instance
          in turn.
 
</s> remove             return (None, None)
 </s> add             empty_data = QueryDict('', self._request._encoding)
            empty_files = MultiValueDict()
            return (empty_data, empty_files) </s> remove         Ensure request.DATA returns None for HEAD request.
 </s> add         Ensure request.DATA returns empty QueryDict for HEAD request. </s> remove         self.assertEqual(request.DATA, None)
 </s> add         self.assertEqual(request.DATA, {}) </s> remove         self.assertEqual(request.DATA, None)
 </s> add         self.assertEqual(request.DATA, {}) </s> remove         Ensure request.DATA returns None for GET request with no content.
 </s> add         Ensure request.DATA returns empty QueryDict for GET request.
            empty_files = MultiValueDict()
            return (parsed, empty_files)
          # DataAndFiles object.  Unpack the result as required.
          try:
              return (parsed.data, parsed.files)
          except AttributeError:
            empty_files = MultiValueDict()
            return (parsed, empty_files)
  
      def _authenticate(self):
          """
          Attempt to authenticate the request using each authentication instance
          in turn.
keep keep keep keep replace keep keep keep keep keep
 request.DATA should use empty QueryDict for no data, not None. 
rest_framework/request.py