diff options
author | Zohar Lorberbaum <zlorber@gmail.com> | 2016-03-28 10:03:26 -0700 |
---|---|---|
committer | Zohar Lorberbaum <zlorber@gmail.com> | 2016-03-28 10:03:26 -0700 |
commit | 6d16f44ab723ef23a633b175c1cb4575919b07c4 (patch) | |
tree | 2cf1d25543e4e81475aa97207d91a8629ce538dd /mitmproxy | |
parent | e56198ae7cf5de1d00c799133d3257434072998e (diff) | |
download | mitmproxy-6d16f44ab723ef23a633b175c1cb4575919b07c4.tar.gz mitmproxy-6d16f44ab723ef23a633b175c1cb4575919b07c4.tar.bz2 mitmproxy-6d16f44ab723ef23a633b175c1cb4575919b07c4.zip |
Merge with master
Diffstat (limited to 'mitmproxy')
-rw-r--r-- | mitmproxy/console/common.py | 7 | ||||
-rw-r--r-- | mitmproxy/console/flowview.py | 6 | ||||
-rw-r--r-- | mitmproxy/dump.py | 5 | ||||
-rw-r--r-- | mitmproxy/flow.py | 4 | ||||
-rw-r--r-- | mitmproxy/models/http.py | 10 | ||||
-rw-r--r-- | mitmproxy/protocol/http.py | 11 | ||||
-rw-r--r-- | mitmproxy/script/script.py | 2 | ||||
-rw-r--r-- | mitmproxy/web/app.py | 5 |
8 files changed, 22 insertions, 28 deletions
diff --git a/mitmproxy/console/common.py b/mitmproxy/console/common.py index 27e6b6db..141735ef 100644 --- a/mitmproxy/console/common.py +++ b/mitmproxy/console/common.py @@ -4,7 +4,6 @@ import urwid import urwid.util import os -from netlib.http import CONTENT_MISSING import netlib.utils from .. import utils @@ -256,7 +255,7 @@ def copy_flow_format_data(part, scope, flow): else: data = "" if scope in ("q", "a"): - if flow.request.content is None or flow.request.content == CONTENT_MISSING: + if flow.request.content is None: return None, "Request content is missing" with decoded(flow.request): if part == "h": @@ -269,7 +268,7 @@ def copy_flow_format_data(part, scope, flow): # Add padding between request and response data += "\r\n" * 2 if scope in ("s", "a") and flow.response: - if flow.response.content is None or flow.response.content == CONTENT_MISSING: + if flow.response.content is None: return None, "Response content is missing" with decoded(flow.response): if part == "h": @@ -420,7 +419,7 @@ def format_flow(f, focus, extended=False, hostheader=False, marked=False): if f.response: if f.response.content: contentdesc = netlib.utils.pretty_size(len(f.response.content)) - elif f.response.content == CONTENT_MISSING: + elif f.response.content is None: contentdesc = "[content missing]" else: contentdesc = "[no content]" diff --git a/mitmproxy/console/flowview.py b/mitmproxy/console/flowview.py index ba2aad6a..b761a924 100644 --- a/mitmproxy/console/flowview.py +++ b/mitmproxy/console/flowview.py @@ -7,7 +7,7 @@ import math import urwid from netlib import odict -from netlib.http import CONTENT_MISSING, Headers +from netlib.http import Headers from . import common, grideditor, signals, searchable, tabs from . import flowdetailview from .. import utils, controller, contentviews @@ -169,7 +169,7 @@ class FlowView(tabs.Tabs): self.show() def content_view(self, viewmode, message): - if message.content == CONTENT_MISSING: + if message.content is None: msg, body = "", [urwid.Text([("error", "[content missing]")])] return msg, body else: @@ -510,7 +510,7 @@ class FlowView(tabs.Tabs): def delete_body(self, t): if t == "m": - val = CONTENT_MISSING + val = None else: val = None if self.tab_offset == TAB_REQ: diff --git a/mitmproxy/dump.py b/mitmproxy/dump.py index 7b4609b4..631e4d2e 100644 --- a/mitmproxy/dump.py +++ b/mitmproxy/dump.py @@ -5,7 +5,6 @@ import click import itertools from netlib import tcp -from netlib.http import CONTENT_MISSING import netlib.utils from . import flow, filt, contentviews from .exceptions import ContentViewException @@ -180,7 +179,7 @@ class DumpMaster(flow.FlowMaster): ) self.echo(headers, indent=4) if self.o.flow_detail >= 3: - if message.content == CONTENT_MISSING: + if message.content is None: self.echo("(content missing)", indent=4) elif message.content: self.echo("") @@ -283,7 +282,7 @@ class DumpMaster(flow.FlowMaster): code = click.style(str(code), fg=code_color, bold=True, blink=(code == 418)) reason = click.style(flow.response.reason, fg=code_color, bold=True) - if flow.response.content == CONTENT_MISSING: + if flow.response.content is None: size = "(content missing)" else: size = netlib.utils.pretty_size(len(flow.response.content)) diff --git a/mitmproxy/flow.py b/mitmproxy/flow.py index d656bc4d..fbf102b5 100644 --- a/mitmproxy/flow.py +++ b/mitmproxy/flow.py @@ -16,7 +16,7 @@ from six.moves import urllib from netlib import wsgi from netlib.exceptions import HttpException -from netlib.http import CONTENT_MISSING, Headers, http1 +from netlib.http import Headers, http1 from . import controller, tnetstring, filt, script, version, flow_format_compat from .onboarding import app from .proxy.config import HostMatcher @@ -942,7 +942,7 @@ class FlowMaster(controller.Master): return "Can't replay live request." if f.intercepted: return "Can't replay while intercepting..." - if f.request.content == CONTENT_MISSING: + if f.request.content is None: return "Can't replay request with missing content..." if f.request: f.backup() diff --git a/mitmproxy/models/http.py b/mitmproxy/models/http.py index a80e11b0..40460182 100644 --- a/mitmproxy/models/http.py +++ b/mitmproxy/models/http.py @@ -84,9 +84,8 @@ class HTTPRequest(MessageMixin, Request): headers: Headers object - content: Content of the request, None, or CONTENT_MISSING if there - is content associated, but not present. CONTENT_MISSING evaluates - to False to make checking for the presence of content natural. + content: Content of the request, the value is None if there is content + associated, but not present. form_in: The request form which mitmproxy has received. The following values are possible: @@ -226,9 +225,8 @@ class HTTPResponse(MessageMixin, Response): headers: Headers object - content: Content of the request, None, or CONTENT_MISSING if there - is content associated, but not present. CONTENT_MISSING evaluates - to False to make checking for the presence of content natural. + content: Content of the response, the value is None if there is content + associated, but not present. timestamp_start: Timestamp indicating when request transmission started diff --git a/mitmproxy/protocol/http.py b/mitmproxy/protocol/http.py index a2745eac..56c5f9ea 100644 --- a/mitmproxy/protocol/http.py +++ b/mitmproxy/protocol/http.py @@ -6,7 +6,7 @@ import six from netlib import tcp from netlib.exceptions import HttpException, HttpReadDisconnect, NetlibException -from netlib.http import Headers, CONTENT_MISSING +from netlib.http import Headers from h2.exceptions import H2Error @@ -50,8 +50,8 @@ class _HttpTransmissionLayer(Layer): yield "this is a generator" # pragma: no cover def send_response(self, response): - if response.content == CONTENT_MISSING: - raise HttpException("Cannot assemble flow with CONTENT_MISSING") + if response.content is None: + raise HttpException("Cannot assemble flow with missing content") self.send_response_headers(response) self.send_response_body(response, [response.content]) @@ -231,7 +231,8 @@ class HttpLayer(Layer): six.reraise(ProtocolException, ProtocolException( "Error in HTTP connection: %s" % repr(e)), sys.exc_info()[2]) finally: - flow.live = False + if flow: + flow.live = False def get_request_from_client(self): request = self.read_request() @@ -318,7 +319,7 @@ class HttpLayer(Layer): raise Kill() if flow.response.stream: - flow.response.data.content = CONTENT_MISSING + flow.response.data.content = None else: flow.response.data.content = b"".join(self.read_response_body( flow.request, diff --git a/mitmproxy/script/script.py b/mitmproxy/script/script.py index f142daca..5a8334c4 100644 --- a/mitmproxy/script/script.py +++ b/mitmproxy/script/script.py @@ -47,7 +47,7 @@ class Script(object): if os.name == "nt": # pragma: no cover backslashes = shlex.split(command, posix=False)[0].count("\\") command = command.replace("\\", "\\\\", backslashes) - args = shlex.split(command) # pragma: nocover + args = shlex.split(command) # pragma: no cover args[0] = os.path.expanduser(args[0]) if not os.path.exists(args[0]): raise ScriptException( diff --git a/mitmproxy/web/app.py b/mitmproxy/web/app.py index 2cac2ab9..cf3c8bdd 100644 --- a/mitmproxy/web/app.py +++ b/mitmproxy/web/app.py @@ -8,7 +8,6 @@ import logging import json import base64 -from netlib.http import CONTENT_MISSING from .. import version, filt @@ -26,10 +25,8 @@ def _strip_content(flow_state): continue if message["content"]: message["contentLength"] = len(message["content"]) - elif message["content"] == CONTENT_MISSING: - message["contentLength"] = None else: - message["contentLength"] = 0 + message["contentLength"] = None del message["content"] if "backup" in flow_state: |