немного некрасиво, но похоже, что работает:
if '' != length:
body = input.read(int(length))
elif req_env.get("HTTP_TRANSFER_ENCODING").lower() == 'chunked':
chunk_size = int(input.readline(), 16)
while chunk_size > 0:
chunk_read_size = 0
tmp = input.read(chunk_size)
chunk_read_size += len(tmp)
body += tmp
while chunk_read_size