  
  __all__ = ['Resource']
  
  
  class Resource(EmitterMixin, ParserMixin, AuthenticatorMixin, FormValidatorMixin, RequestMixin, View):
      """Handles incoming requests and maps them to REST operations,
      performing authentication, input deserialization, input validation, output serialization."""
  
      # List of RESTful operations which may be performed on this resource.
      # These are going to get dropped at some point, the allowable methods will be defined simply by
 
</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 
#    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     """Delegate class that supplements an HttpRequest object with additional behaviour."""
 </s> add     """Mixin behaviour to deal with requests.""" </s> remove # TODO: finish off the refactoring
 </s> add """
Tests for content parsing, and form-overloaded content parsing.
"""
class Resource(EmitterMixin, AuthenticatorMixin, FormValidatorMixin, RequestMixin, View):
  
  __all__ = ['Resource']
  
  
class Resource(EmitterMixin, AuthenticatorMixin, FormValidatorMixin, RequestMixin, View):
      """Handles incoming requests and maps them to REST operations,
      performing authentication, input deserialization, input validation, output serialization."""
  
      # List of RESTful operations which may be performed on this resource.
      # These are going to get dropped at some point, the allowable methods will be defined simply by
keep keep keep keep replace keep keep keep keep keep
 Remove last bits of ParserMixin 
djangorestframework/resource.py