aboutsummaryrefslogtreecommitdiffstats
path: root/mitmproxy
diff options
context:
space:
mode:
authorBrad Dixon <brad.dixon@carvesystems.com>2020-06-04 20:26:31 -0400
committerBrad Dixon <brad.dixon@carvesystems.com>2020-06-08 09:09:09 -0400
commit75ec05c85e597e66128c68c124f8a0376a5db7f2 (patch)
treec11995d5a3b43252d741ed8bbd66cf47379e8d02 /mitmproxy
parent107b019b05798f97d2a0de8ef866ea6197975d9f (diff)
downloadmitmproxy-75ec05c85e597e66128c68c124f8a0376a5db7f2.tar.gz
mitmproxy-75ec05c85e597e66128c68c124f8a0376a5db7f2.tar.bz2
mitmproxy-75ec05c85e597e66128c68c124f8a0376a5db7f2.zip
HTTP2 response reason is None, render as '' in property.
Fixes an error triggered when displaying an HTTP2 response loaded from a file.
Diffstat (limited to 'mitmproxy')
-rw-r--r--mitmproxy/net/http/response.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/mitmproxy/net/http/response.py b/mitmproxy/net/http/response.py
index 2e864405..c4dbf408 100644
--- a/mitmproxy/net/http/response.py
+++ b/mitmproxy/net/http/response.py
@@ -122,10 +122,14 @@ class Response(message.Message):
def reason(self):
"""
HTTP Reason Phrase, e.g. "Not Found".
- This is always :py:obj:`None` for HTTP2 requests, because HTTP2 responses do not contain a reason phrase.
+ HTTP2 responses do not contain a reason phrase and self.data.reason will be :py:obj:`None`.
+ When :py:obj:`None` return an empty reason phrase so that functions expecting a string work properly.
"""
# Encoding: http://stackoverflow.com/a/16674906/934719
- return self.data.reason.decode("ISO-8859-1", "surrogateescape")
+ if self.data.reason is not None:
+ return self.data.reason.decode("ISO-8859-1", "surrogateescape")
+ else:
+ return ""
@reason.setter
def reason(self, reason):