diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2012-04-25 14:38:20 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2012-04-25 14:38:20 +1200 |
commit | 2fe54d17df90b1849f1685e2f6d7aa87e4d67d59 (patch) | |
tree | f70168ca89e49cece3a127b769f2ebf57b670126 /libmproxy | |
parent | efa98d514c6a8b6670d808f2bddb7158a6741ff0 (diff) | |
download | mitmproxy-2fe54d17df90b1849f1685e2f6d7aa87e4d67d59.tar.gz mitmproxy-2fe54d17df90b1849f1685e2f6d7aa87e4d67d59.tar.bz2 mitmproxy-2fe54d17df90b1849f1685e2f6d7aa87e4d67d59.zip |
Don't specify Content-Length on empty content.
Sometimes, mitmproxy would specify a content-length header value of 0 when
content was empty. Some rare servers (like piratebay.org) would barf on this.
Diffstat (limited to 'libmproxy')
-rw-r--r-- | libmproxy/flow.py | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/libmproxy/flow.py b/libmproxy/flow.py index 732718d3..2ef56570 100644 --- a/libmproxy/flow.py +++ b/libmproxy/flow.py @@ -528,10 +528,10 @@ class Request(HTTPMsg): if not 'host' in headers: headers["host"] = [utils.hostport(self.scheme, self.host, self.port)] content = self.content - if content is None: - content = "" - else: + if content: headers["content-length"] = [str(len(content))] + else: + content = "" if self.close: headers["connection"] = ["close"] if not _proxy: @@ -698,10 +698,10 @@ class Response(HTTPMsg): ['proxy-connection', 'connection', 'keep-alive', 'transfer-encoding'] ) content = self.content - if content is None: - content = "" - else: + if content: headers["content-length"] = [str(len(content))] + else: + content = "" if self.request.client_conn.close: headers["connection"] = ["close"] proto = "HTTP/1.1 %s %s"%(self.code, str(self.msg)) |