diff options
| author | Aldo Cortesi <aldo@nullcube.com> | 2015-05-17 15:49:16 +1200 |
|---|---|---|
| committer | Aldo Cortesi <aldo@nullcube.com> | 2015-05-17 15:52:56 +1200 |
| commit | abe1f09f2c7eebfccfbf86ca0b16ec6d1711627b (patch) | |
| tree | b70e5316f6db6f467827abf198b9d969ae7b045d /libpathod/language/__init__.py | |
| parent | d80fbc24107ac2166b80ccb5f4a240a7f480497b (diff) | |
| download | mitmproxy-abe1f09f2c7eebfccfbf86ca0b16ec6d1711627b.tar.gz mitmproxy-abe1f09f2c7eebfccfbf86ca0b16ec6d1711627b.tar.bz2 mitmproxy-abe1f09f2c7eebfccfbf86ca0b16ec6d1711627b.zip | |
HTTP and websocket requests now have an xN clause to repeat
Diffstat (limited to 'libpathod/language/__init__.py')
| -rw-r--r-- | libpathod/language/__init__.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/libpathod/language/__init__.py b/libpathod/language/__init__.py index 36ec19e2..3b7529f0 100644 --- a/libpathod/language/__init__.py +++ b/libpathod/language/__init__.py @@ -31,7 +31,7 @@ def parse_requests(s): except UnicodeError: raise exceptions.ParseException("Spec must be valid ASCII.", 0, 0) try: - return pp.OneOrMore( + reqs = pp.OneOrMore( pp.Or( [ websockets.WebsocketFrame.expr(), @@ -41,6 +41,14 @@ def parse_requests(s): ).parseString(s, parseAll=True) except pp.ParseException, v: raise exceptions.ParseException(v.msg, v.line, v.col) + expanded = [] + for i in reqs: + if i.times: + for j in range(int(i.times.value)): + expanded.append(i.copy()) + else: + expanded.append(i) + return expanded def serve(msg, fp, settings): |
