diff --git a/libmproxy/console/common.py b/libmproxy/console/common.py index 104b72162..9d42d4fcb 100644 --- a/libmproxy/console/common.py +++ b/libmproxy/console/common.py @@ -190,7 +190,10 @@ def format_flow(f, focus, extended=False, hostheader=False, padding=2): else: contentdesc = "[no content]" - delta = f.response.timestamp_end - f.response.timestamp_start + if f.response.timestamp_end: + delta = f.response.timestamp_end - f.response.timestamp_start + else: + delta = 0 size = f.response.size() rate = utils.pretty_size(size / ( delta if delta > 0 else 1 ) ) diff --git a/libmproxy/protocol/http.py b/libmproxy/protocol/http.py index a5d438022..de5f99501 100644 --- a/libmproxy/protocol/http.py +++ b/libmproxy/protocol/http.py @@ -89,6 +89,7 @@ class HTTPMessage(stateobject.StateObject): """ Base class for HTTPRequest and HTTPResponse """ + def __init__(self, httpversion, headers, content, timestamp_start=None, timestamp_end=None): self.httpversion = httpversion @@ -917,6 +918,7 @@ class HTTPHandler(ProtocolHandler): HTTPHandler implements mitmproxys understanding of the HTTP protocol. """ + def __init__(self, c): super(HTTPHandler, self).__init__(c) self.expected_form_in = c.config.mode.http_form_in @@ -980,8 +982,8 @@ class HTTPHandler(ProtocolHandler): body_size_limit=self.c.config.body_size_limit ) except tcp.NetLibDisconnect: - # don't throw an error for disconnects that happen - # before/between requests. + # don't throw an error for disconnects that happen + # before/between requests. return False self.c.log( "request",