'Process the request entity based on its Content-Type.'

def process(self):

    h = cherrypy.serving.request.headers
    if (('Content-Length' not in h) and ('Transfer-Encoding' not in h)):
        raise cherrypy.HTTPError(411)
    self.fp = SizedReader(self.fp, self.length, self.maxbytes, bufsize=self.bufsize, has_trailers=('Trailer' in h))
    super(RequestBody, self).process()
    request_params = self.request_params
    for (key, value) in self.params.items():
        if (sys.version_info < (3, 0)):
            if isinstance(key, unicode):
                key = key.encode('ISO-8859-1')
        if (key in request_params):
            if (not isinstance(request_params[key], list)):
                request_params[key] = [request_params[key]]
            request_params[key].append(value)
        else:
            request_params[key] = value
