From 30fff1fb323d2de14557f9a6b2648e7af5e417a1 Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Tue, 31 May 2016 14:05:57 -0700 Subject: [PATCH] be more strict about module namespaces --- mitmproxy/contentviews.py | 9 ++++----- mitmproxy/flow/export.py | 3 +-- mitmproxy/flow/io_compat.py | 4 +++- netlib/http/__init__.py | 8 ++++---- test/netlib/http/test_headers.py | 3 +-- 5 files changed, 13 insertions(+), 14 deletions(-) diff --git a/mitmproxy/contentviews.py b/mitmproxy/contentviews.py index 08a7e446f..373c9514e 100644 --- a/mitmproxy/contentviews.py +++ b/mitmproxy/contentviews.py @@ -26,9 +26,8 @@ from PIL.ExifTags import TAGS import html2text import six from netlib.odict import ODict -from netlib import encoding -import netlib.http.headers -from netlib.http import url, multipart +from netlib import encoding, http +from netlib.http import url from netlib.utils import clean_bin, hexdump from . import utils from .exceptions import ContentViewException @@ -122,7 +121,7 @@ class ViewAuto(View): headers = metadata.get("headers", {}) ctype = headers.get("content-type") if data and ctype: - ct = netlib.http.headers.parse_content_type(ctype) if ctype else None + ct = http.parse_content_type(ctype) if ctype else None ct = "%s/%s" % (ct[0], ct[1]) if ct in content_types_map: return content_types_map[ct][0](data, **metadata) @@ -276,7 +275,7 @@ class ViewMultipart(View): def __call__(self, data, **metadata): headers = metadata.get("headers", {}) - v = multipart.decode(headers, data) + v = http.multipart.decode(headers, data) if v: return "Multipart form", self._format(v) diff --git a/mitmproxy/flow/export.py b/mitmproxy/flow/export.py index c2f54554d..d71ac6095 100644 --- a/mitmproxy/flow/export.py +++ b/mitmproxy/flow/export.py @@ -5,7 +5,6 @@ from textwrap import dedent from six.moves.urllib.parse import quote, quote_plus import netlib.http -import netlib.http.headers def curl_command(flow): @@ -88,7 +87,7 @@ def raw_request(flow): def is_json(headers, content): if headers: - ct = netlib.http.headers.parse_content_type(headers.get("content-type", "")) + ct = netlib.http.parse_content_type(headers.get("content-type", "")) if ct and "%s/%s" % (ct[0], ct[1]) == "application/json": try: return json.loads(content) diff --git a/mitmproxy/flow/io_compat.py b/mitmproxy/flow/io_compat.py index f35b78424..7522163fa 100644 --- a/mitmproxy/flow/io_compat.py +++ b/mitmproxy/flow/io_compat.py @@ -65,5 +65,7 @@ def migrate_flow(flow_data): flow_data = converters[flow_version](flow_data) else: v = ".".join(str(i) for i in flow_data["version"]) - raise ValueError("Incompatible serialized data version: {}".format(v)) + raise ValueError( + "{} cannot read files serialized with version {}.".format(version.NAMEVERSION, v) + ) return flow_data diff --git a/netlib/http/__init__.py b/netlib/http/__init__.py index c4eb1d58d..14de26a16 100644 --- a/netlib/http/__init__.py +++ b/netlib/http/__init__.py @@ -1,14 +1,14 @@ from __future__ import absolute_import, print_function, division from .request import Request from .response import Response -from .headers import Headers +from .headers import Headers, parse_content_type from .message import decoded -from . import http1, http2, status_codes +from . import http1, http2, status_codes, multipart __all__ = [ "Request", "Response", - "Headers", + "Headers", "parse_content_type", "decoded", - "http1", "http2", "status_codes", + "http1", "http2", "status_codes", "multipart", ] diff --git a/test/netlib/http/test_headers.py b/test/netlib/http/test_headers.py index e12bceaf2..51819b860 100644 --- a/test/netlib/http/test_headers.py +++ b/test/netlib/http/test_headers.py @@ -1,5 +1,4 @@ -from netlib.http import Headers -from netlib.http.headers import parse_content_type +from netlib.http import Headers, parse_content_type from netlib.tutils import raises