Fix soaplib, um Chunked-Anfragen zu unterstützen
-
27-10-2019 - |
Frage
Ich habe einen Seifen-Webservice mit Soaplib erstellt.
Wenn der Client jedoch eine Blockanforderung gesendet hat, schlägt dies fehl
length = req_env.get("CONTENT_LENGTH")
body = input.read(int(length))
Da die Länge '' (leere Zeichenfolge) ist, gibt es Ideen, wie man soaplib repariert?
Lösung
ein bisschen hässlich, sieht aber so aus, als würde es funktionieren:
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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow