      """
      JSONEncoder subclass that knows how to encode date/time and decimal types.
      """
      def default(self, o):
          # See "Date Time String Format" in the ECMA-262 specification.
          if isinstance(o, datetime.datetime):
              r = o.isoformat()
              if o.microsecond:
                  r = r[:23] + r[26:]
              if r.endswith('+00:00'):
 
</s> remove     JSONEncoder subclass that knows how to encode date/time and decimal types.
 </s> add     JSONEncoder subclass that knows how to encode date/time,
    decimal types, and generators. </s> remove             (self._data, self._files) = self._parse()
 </s> add             self._data, self._files = self._parse() </s> remove             (self._data, self._files) = self._parse()
 </s> add             self._data, self._files = self._parse() </s> remove                 return parser.parse(self.stream, meta=self.META,
                                    upload_handlers=self.upload_handlers)
 </s> add                 parsed = parser.parse(self.stream, meta=self.META,
                                      upload_handlers=self.upload_handlers)
                # Parser classes may return the raw data, or a
                # DataAndFiles object.  Unpack the result as required.
                try:
                    return (parsed.data, parsed.files)
                except AttributeError:
                    return (parsed, None) </s> remove         Parse the request content.
 </s> add         Parse the request content, returning a two-tuple of (data, files)
        # For Date Time string spec, see ECMA 262
        # http://ecma-international.org/ecma-262/5.1/#sec-15.9.1.15
      """
      JSONEncoder subclass that knows how to encode date/time and decimal types.
      """
      def default(self, o):
        # For Date Time string spec, see ECMA 262
        # http://ecma-international.org/ecma-262/5.1/#sec-15.9.1.15
          if isinstance(o, datetime.datetime):
              r = o.isoformat()
              if o.microsecond:
                  r = r[:23] + r[26:]
              if r.endswith('+00:00'):
keep keep keep keep replace keep keep keep keep keep
 Parsers may return raw data, or a DataAndFiles object 
djangorestframework/utils/encoders.py