aboutsummaryrefslogtreecommitdiffstats
path: root/libpathod/language/__init__.py
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2015-06-18 16:16:40 +1200
committerAldo Cortesi <aldo@nullcube.com>2015-06-18 16:16:40 +1200
commit274d0333f8bbd0bf88214747beeead991f36b72a (patch)
tree590d684d8ab9277cab441ffb07a79cc36412e4c7 /libpathod/language/__init__.py
parent78cb5fe573ffcc06e700bb2193f9aef212be267e (diff)
parent408b4ffef0a784bea7ec08c252e757bca6e28134 (diff)
downloadmitmproxy-274d0333f8bbd0bf88214747beeead991f36b72a.tar.gz
mitmproxy-274d0333f8bbd0bf88214747beeead991f36b72a.tar.bz2
mitmproxy-274d0333f8bbd0bf88214747beeead991f36b72a.zip
Merge pull request #27 from Kriechi/http2-wip
HTTP/2: add initial support
Diffstat (limited to 'libpathod/language/__init__.py')
-rw-r--r--libpathod/language/__init__.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/libpathod/language/__init__.py b/libpathod/language/__init__.py
index ae9a8c76..10050bf8 100644
--- a/libpathod/language/__init__.py
+++ b/libpathod/language/__init__.py
@@ -19,7 +19,7 @@ def expand(msg):
yield msg
-def parse_pathod(s):
+def parse_pathod(s, use_http2=False):
"""
May raise ParseException
"""
@@ -28,12 +28,17 @@ def parse_pathod(s):
except UnicodeError:
raise exceptions.ParseException("Spec must be valid ASCII.", 0, 0)
try:
- reqs = pp.Or(
- [
+ if use_http2:
+ expressions = [
+ # http2.Frame.expr(),
+ http2.Response.expr(),
+ ]
+ else:
+ expressions = [
websockets.WebsocketFrame.expr(),
http.Response.expr(),
]
- ).parseString(s, parseAll=True)
+ reqs = pp.Or(expressions).parseString(s, parseAll=True)
except pp.ParseException as v:
raise exceptions.ParseException(v.msg, v.line, v.col)
return itertools.chain(*[expand(i) for i in reqs])
@@ -55,7 +60,6 @@ def parse_pathoc(s, use_http2=False):
websockets.WebsocketClientFrame.expr(),
http.Request.expr(),
]
-
reqs = pp.OneOrMore(pp.Or(expressions)).parseString(s, parseAll=True)
except pp.ParseException as v:
raise exceptions.ParseException(v.msg, v.line, v.col)