From 038b61477c68d40bfa3eb2072537b5be1823cba2 Mon Sep 17 00:00:00 2001 From: Sabari Kumar Murugesan Date: Mon, 22 Dec 2014 15:06:31 -0800 Subject: [PATCH] Handle empty chunks Empty chunk in request body could prematurely signal end of chunked transmission. As a result, the terminating zero-size chunk sent by 'requests' can be interpretted as bad request by the recepient. We ignore such empty chunks. --- requests/adapters.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/requests/adapters.py b/requests/adapters.py index c892853b..d876dd84 100644 --- a/requests/adapters.py +++ b/requests/adapters.py @@ -388,7 +388,10 @@ class HTTPAdapter(BaseAdapter): low_conn.endheaders() for i in request.body: - low_conn.send(hex(len(i))[2:].encode('utf-8')) + chunk_size = len(i) + if chunk_size == 0: + continue + low_conn.send(hex(chunk_size)[2:].encode('utf-8')) low_conn.send(b'\r\n') low_conn.send(i) low_conn.send(b'\r\n')