aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mitmproxy/addons/view.py6
-rw-r--r--test/mitmproxy/addons/test_view.py3
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():