fix soaplib to support chunked requests

292 Views Asked by At

I have soap webservice built with soaplib, but if client sent chunked request it fails on

length = req_env.get("CONTENT_LENGTH")
body = input.read(int(length))
because length is '' (empty string), any ideas how to fix soaplib?

1

There are 1 best solutions below

0
On BEST ANSWER

a bit ugly, but looks like it works:

            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