aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Shao <me@matshao.com>2018-01-08 21:14:35 +0800
committerMatthew Shao <me@matshao.com>2018-01-08 21:14:35 +0800
commit633bc350d225eb02c7ab0aef6bae57c4def560e1 (patch)
tree869b7450390b79547f5259be3d2f57663f60f19b
parent821d76df02f70ccca5623cbc65d02b80e3998704 (diff)
downloadmitmproxy-633bc350d225eb02c7ab0aef6bae57c4def560e1.tar.gz
mitmproxy-633bc350d225eb02c7ab0aef6bae57c4def560e1.tar.bz2
mitmproxy-633bc350d225eb02c7ab0aef6bae57c4def560e1.zip
Fix #2760
-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():