From 268a1f179e554027637bd2951b24ad44ecb4a1ee Mon Sep 17 00:00:00 2001 From: Daniel Badea Date: Wed, 7 Sep 2016 09:10:10 +0000 Subject: [PATCH] close connection on HTTP 413 Request Entity Too Large Allow low_conn to retrieve/handle unread response data buffers in case ProtocolError or socket.error are raised while sending request data. Signed-off-by: Dongqi Chen --- requests/adapters.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/requests/adapters.py b/requests/adapters.py index fd46325..087258a 100644 --- a/requests/adapters.py +++ b/requests/adapters.py @@ -466,12 +466,18 @@ class HTTPAdapter(BaseAdapter): low_conn.endheaders() - for i in request.body: - low_conn.send(hex(len(i))[2:].encode('utf-8')) - low_conn.send(b'\r\n') - low_conn.send(i) - low_conn.send(b'\r\n') - low_conn.send(b'0\r\n\r\n') + try: + for i in request.body: + low_conn.send(hex(len(i))[2:].encode('utf-8')) + low_conn.send(b'\r\n') + low_conn.send(i) + low_conn.send(b'\r\n') + low_conn.send(b'0\r\n\r\n') + except (ProtocolError, socket.error) as err: + # allow low_conn to retrieve/handle unread response + # data buffers in case ProtocolError or socket.error + # are raised while sending request data + pass # Receive the response from the server try: -- 1.8.3.1