diff options
| author | Aldo Cortesi <aldo@nullcube.com> | 2015-06-08 10:58:12 +1200 |
|---|---|---|
| committer | Aldo Cortesi <aldo@nullcube.com> | 2015-06-08 10:58:12 +1200 |
| commit | 7dff8f0dca936a58070f6957ab84ca15aa10076a (patch) | |
| tree | ed00ec221a6eaf338f67276afb69c1fad1652f02 /libpathod/language | |
| parent | df962f8e7bab9d8cd1dc9143f44977b0711c5bd9 (diff) | |
| download | mitmproxy-7dff8f0dca936a58070f6957ab84ca15aa10076a.tar.gz mitmproxy-7dff8f0dca936a58070f6957ab84ca15aa10076a.tar.bz2 mitmproxy-7dff8f0dca936a58070f6957ab84ca15aa10076a.zip | |
Convert parse_websocket_frame to a generator
Diffstat (limited to 'libpathod/language')
| -rw-r--r-- | libpathod/language/__init__.py | 7 | ||||
| -rw-r--r-- | libpathod/language/websockets.py | 1 |
2 files changed, 6 insertions, 2 deletions
diff --git a/libpathod/language/__init__.py b/libpathod/language/__init__.py index 38395b86..c41e8602 100644 --- a/libpathod/language/__init__.py +++ b/libpathod/language/__init__.py @@ -63,12 +63,15 @@ def parse_websocket_frame(s): May raise ParseException """ try: - return websockets.WebsocketFrame.expr().parseString( + reqs = pp.OneOrMore( + websockets.WebsocketFrame.expr() + ).parseString( s, parseAll = True - )[0] + ) except pp.ParseException as v: raise exceptions.ParseException(v.msg, v.line, v.col) + return itertools.chain(*[expand(i) for i in reqs]) def serve(msg, fp, settings): diff --git a/libpathod/language/websockets.py b/libpathod/language/websockets.py index a42dfc2f..51c1b3ee 100644 --- a/libpathod/language/websockets.py +++ b/libpathod/language/websockets.py @@ -69,6 +69,7 @@ class Length(base.Integer): class Times(base.Integer): preamble = "x" + COMPONENTS = ( OpCode, Length, |
