diff options
-rw-r--r-- | mitmproxy/addons/view.py | 6 | ||||
-rw-r--r-- | test/mitmproxy/addons/test_view.py | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/mitmproxy/addons/view.py b/mitmproxy/addons/view.py index 5fbefdb0..68a3a72b 100644 --- a/mitmproxy/addons/view.py +++ b/mitmproxy/addons/view.py @@ -441,7 +441,11 @@ class View(collections.Sequence): @command.command("view.create") def create(self, method: str, url: str) -> None: - req = http.HTTPRequest.make(method.upper(), url) + try: + req = http.HTTPRequest.make(method.upper(), url) + except ValueError as e: + ctx.log.error(e) + return c = connections.ClientConnection.make_dummy(("", 0)) s = connections.ServerConnection.make_dummy((req.host, req.port)) f = http.HTTPFlow(c, s) diff --git a/test/mitmproxy/addons/test_view.py b/test/mitmproxy/addons/test_view.py index 6e4af367..72f1a0fb 100644 --- a/test/mitmproxy/addons/test_view.py +++ b/test/mitmproxy/addons/test_view.py @@ -147,6 +147,9 @@ def test_create(): assert v[0].request.url == "http://foo.com/" v.create("get", "http://foo.com") assert len(v) == 2 + v.create("get", "http://foo.com\\") + v.create("get", "http://") + assert len(v) == 2 def test_orders(): |