aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2012-10-31 09:48:55 +1300
committerAldo Cortesi <aldo@nullcube.com>2012-10-31 09:48:55 +1300
commit8c6cc8140c6ac51966bdfabd5bb1180c2dd623b0 (patch)
treed9d632b92f275429665e1788f040c60122c61947
parent0c9cfb3f381e2c9df5f37dd451b871eac0bdfbd7 (diff)
downloadmitmproxy-8c6cc8140c6ac51966bdfabd5bb1180c2dd623b0.tar.gz
mitmproxy-8c6cc8140c6ac51966bdfabd5bb1180c2dd623b0.tar.bz2
mitmproxy-8c6cc8140c6ac51966bdfabd5bb1180c2dd623b0.zip
Fix generated values in request path specification.
-rw-r--r--libpathod/language.py4
-rw-r--r--test/test_language.py5
2 files changed, 7 insertions, 2 deletions
diff --git a/libpathod/language.py b/libpathod/language.py
index 0b49c2de..654dc37e 100644
--- a/libpathod/language.py
+++ b/libpathod/language.py
@@ -136,7 +136,7 @@ v_literal = pp.MatchFirst(
v_naked_literal = pp.MatchFirst(
[
v_literal,
- pp.Word("".join(i for i in pp.printables if i not in ",:\n"))
+ pp.Word("".join(i for i in pp.printables if i not in ",:\n@\'\""))
]
)
@@ -479,7 +479,7 @@ class Path(_Component):
@classmethod
def expr(klass):
- e = NakedValue.copy()
+ e = Value | NakedValue
return e.setParseAction(lambda x: klass(*x))
def values(self, settings):
diff --git a/test/test_language.py b/test/test_language.py
index a6f735f1..b02a89dd 100644
--- a/test/test_language.py
+++ b/test/test_language.py
@@ -169,6 +169,7 @@ class TestMisc:
v2 = v.freeze({})
v3 = v2.freeze({})
assert v2.value.val == v3.value.val
+ assert len(v2.value.val) == 100
s = v.spec()
assert s == v.expr().parseString(s)[0].spec()
@@ -488,6 +489,10 @@ class TestRequest:
r = language.parse_request({}, "GET:/:b@100").freeze({})
assert len(r.spec()) > 100
+ def test_path_generator(self):
+ r = language.parse_request({}, "GET:@100").freeze({})
+ assert len(r.spec()) > 100
+
class TestWriteValues:
def test_send_chunk(self):