def METHOD_NAME(self, data):
    params, files = sdict(), sdict()
    field_storage = FieldStorage(
        BytesIO(data),
        headers=self._multipart_headers,
        environ={'REQUEST_METHOD': self.method},
        keep_blank_values=True
    )
    for key in field_storage:
        field = field_storage[key]
        if isinstance(field, list):
            if len(field) > 1:
                pvalues, fvalues = [], []
                for item in field:
                    if item.filename is not None:
                        fvalues.append(self._file_param_from_field(item))
                    else:
                        pvalues.append(item.value)
                if pvalues:
                    params[key] = pvalues
                if fvalues:
                    files[key] = fvalues
                continue
            else:
               field = field[0]
        if field.filename is not None:
            files[key] = self._file_param_from_field(field)
        else:
            params[key] = field.value
    return params, files