From 63bf99ce77b857d3ec3cd44641330a6863ffacf0 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Mon, 23 Jul 2012 14:46:43 +0200 Subject: [PATCH] Minor just in case update for an Issue #117 --- lib/request/connect.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/lib/request/connect.py b/lib/request/connect.py index 18453f6d1..7f3528b53 100644 --- a/lib/request/connect.py +++ b/lib/request/connect.py @@ -124,16 +124,20 @@ class Connect: retVal = "" if not kb.dnsMode: - while True: - _ = conn.read(MAX_CONNECTION_CHUNK_SIZE) - if len(_) == MAX_CONNECTION_CHUNK_SIZE: - warnMsg = "large response detected. This could take a while" - singleTimeWarnMessage(warnMsg) - _ = re.sub(r"(?si)%s.+?%s" % (kb.chars.stop, kb.chars.start), "%s%s%s" % (kb.chars.stop, LARGE_CHUNK_TRIM_MARKER, kb.chars.start), _) - retVal += _ - else: - retVal += _ - break + if conn.headers.getheader(HTTPHEADER.CONTENT_ENCODING, "").lower() in ("gzip", "deflate")\ + or "text" not in conn.headers.getheader(HTTPHEADER.CONTENT_TYPE, "").lower(): + retVal = conn.read() + else: + while True: + _ = conn.read(MAX_CONNECTION_CHUNK_SIZE) + if len(_) == MAX_CONNECTION_CHUNK_SIZE: + warnMsg = "large response detected. This could take a while" + singleTimeWarnMessage(warnMsg) + _ = re.sub(r"(?si)%s.+?%s" % (kb.chars.stop, kb.chars.start), "%s%s%s" % (kb.chars.stop, LARGE_CHUNK_TRIM_MARKER, kb.chars.start), _) + retVal += _ + else: + retVal += _ + break return retVal