diff options
| author | Aldo Cortesi <aldo@nullcube.com> | 2015-06-08 23:06:09 +1200 |
|---|---|---|
| committer | Aldo Cortesi <aldo@nullcube.com> | 2015-06-08 23:06:09 +1200 |
| commit | 05efcf0a786b0bc51257b322014fceb6561d0f48 (patch) | |
| tree | c316aec35670bb43f28eb9d3373564dbdb9614a2 /libpathod/language/__init__.py | |
| parent | 7b4e50bb6868b7e0c63137c636720ccd3b974faa (diff) | |
| parent | 293e3c68969f6abdc09cc390f93b658e60ce79be (diff) | |
| download | mitmproxy-05efcf0a786b0bc51257b322014fceb6561d0f48.tar.gz mitmproxy-05efcf0a786b0bc51257b322014fceb6561d0f48.tar.bz2 mitmproxy-05efcf0a786b0bc51257b322014fceb6561d0f48.zip | |
Merge pull request #25 from Kriechi/pathoc-http2
[WIP] pathoc: HTTP/2
Diffstat (limited to 'libpathod/language/__init__.py')
| -rw-r--r-- | libpathod/language/__init__.py | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/libpathod/language/__init__.py b/libpathod/language/__init__.py index c41e8602..ae9a8c76 100644 --- a/libpathod/language/__init__.py +++ b/libpathod/language/__init__.py @@ -3,7 +3,7 @@ import time import pyparsing as pp -from . import http, websockets, writer, exceptions +from . import http, http2, websockets, writer, exceptions from exceptions import * from base import Settings @@ -39,20 +39,24 @@ def parse_pathod(s): return itertools.chain(*[expand(i) for i in reqs]) -def parse_pathoc(s): +def parse_pathoc(s, use_http2=False): try: s = s.decode("ascii") except UnicodeError: raise exceptions.ParseException("Spec must be valid ASCII.", 0, 0) try: - reqs = pp.OneOrMore( - pp.Or( - [ - websockets.WebsocketClientFrame.expr(), - http.Request.expr(), - ] - ) - ).parseString(s, parseAll=True) + if use_http2: + expressions = [ + # http2.Frame.expr(), + http2.Request.expr(), + ] + else: + expressions = [ + 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) return itertools.chain(*[expand(i) for i in reqs]) |
