  from django.http.multipartparser import LimitBytes
  from StringIO import StringIO
  
  class RequestMixin(object):
      """Delegate class that supplements an HttpRequest object with additional behaviour."""
  
      USE_FORM_OVERLOADING = True
      METHOD_PARAM = "_method"
      CONTENTTYPE_PARAM = "_content_type"
      CONTENT_PARAM = "_content"
 
</s> remove 
#    def test_overloaded_behaviour_allows_content_tunnelling_content_type_not_set(self):
#        """Ensure determine_content(request) returns (None, content) for overloaded POST request with content type not set"""
#        content = 'qwerty'
#        request = self.req.post('/', {OverloadedContentMixin.CONTENT_PARAM: content})
#        self.assertEqual(OverloadedContentMixin().determine_content(request), (None, content))
 </s> add  </s> remove #    # OverloadedContentMixin behavioural tests
#
#    def test_overloaded_behaviour_determines_no_content_GET(self):
#        """Ensure StandardContentMixin.determine_content(request) returns None for GET request with no content."""
#        self.ensure_determines_no_content_GET(OverloadedContentMixin())
#
#    def test_overloaded_behaviour_determines_form_content_POST(self):
#        """Ensure StandardContentMixin.determine_content(request) returns content for POST request with content."""
#        self.ensure_determines_form_content_POST(OverloadedContentMixin())
#
#    def test_overloaded_behaviour_determines_non_form_content_POST(self):
#        """Ensure StandardContentMixin.determine_content(request) returns (content type, content) for POST request with content."""
#        self.ensure_determines_non_form_content_POST(OverloadedContentMixin())
#
#    def test_overloaded_behaviour_determines_form_content_PUT(self):
#        """Ensure StandardContentMixin.determine_content(request) returns content for PUT request with content."""
#        self.ensure_determines_form_content_PUT(OverloadedContentMixin())
#
#    def test_overloaded_behaviour_determines_non_form_content_PUT(self):
#        """Ensure StandardContentMixin.determine_content(request) returns (content type, content) for PUT request with content."""
#        self.ensure_determines_non_form_content_PUT(OverloadedContentMixin())
#
 </s> add  </s> remove class ParserMixin(object):
    parsers = ()


 </s> add  </s> remove #    # Interface tests
#
#    def test_content_mixin_interface(self):
#        """Ensure the ContentMixin interface is as expected."""
#        self.assertRaises(NotImplementedError, ContentMixin().determine_content, None)
#
#    def test_standard_content_mixin_interface(self):
#        """Ensure the OverloadedContentMixin interface is as expected."""
#        self.assertTrue(issubclass(StandardContentMixin, ContentMixin))
#        getattr(StandardContentMixin, 'determine_content')
#
#    def test_overloaded_content_mixin_interface(self):
#        """Ensure the OverloadedContentMixin interface is as expected."""
#        self.assertTrue(issubclass(OverloadedContentMixin, ContentMixin))
#        getattr(OverloadedContentMixin, 'CONTENT_PARAM')
#        getattr(OverloadedContentMixin, 'CONTENTTYPE_PARAM')
#        getattr(OverloadedContentMixin, 'determine_content')
#
#  
#    # Common functionality to test with both StandardContentMixin and OverloadedContentMixin
#
 </s> add  </s> remove class Resource(EmitterMixin, ParserMixin, AuthenticatorMixin, FormValidatorMixin, RequestMixin, View):
 </s> add class Resource(EmitterMixin, AuthenticatorMixin, FormValidatorMixin, RequestMixin, View):
    """Mixin behaviour to deal with requests."""
  from django.http.multipartparser import LimitBytes
  from StringIO import StringIO
  
  class RequestMixin(object):
    """Mixin behaviour to deal with requests."""
  
      USE_FORM_OVERLOADING = True
      METHOD_PARAM = "_method"
      CONTENTTYPE_PARAM = "_content_type"
      CONTENT_PARAM = "_content"
keep keep keep keep replace keep keep keep keep keep
 Remove last bits of ParserMixin 
djangorestframework/request.py