code: def translate(self):
          
          ctype = self.content_type()
          self.request.content_type = ctype
  
          if not self.is_multipart() and ctype:
              loadee = self.loader_for_type(ctype)
  
              if loadee:
                  try:
                      self.request.data = loadee(self.request.raw_post_data)
  
                      # Reset both POST and PUT from request, as its
                      # misleading having their presence around.
                      self.request.POST = self.request.PUT = dict()
                  except (TypeError, ValueError):
                      # This also catches if loadee is None.
                      raise MimerDataException
              else:
                  self.request.data = None
  
          return self.request
docs: Will look at the `Content-type` sent by the client, and maybe
          deserialize the contents into the format they sent. This will
          work for JSON, YAML, XML and Pickle. Since the data is not just
          key-value (and maybe just a list), the data will be placed on
          `request.data` instead, and the handler will have to read from
          there.
  
          It will also set `request.content_type` so the handler has an easy
          way to tell what's going on. `request.content_type` will always be
          None for form-encoded and/or multipart form data (what your browser sends.)