aboutsummaryrefslogtreecommitdiffstats
path: root/libpathod/language/http2.py
diff options
context:
space:
mode:
Diffstat (limited to 'libpathod/language/http2.py')
-rw-r--r--libpathod/language/http2.py29
1 files changed, 18 insertions, 11 deletions
diff --git a/libpathod/language/http2.py b/libpathod/language/http2.py
index dec2d5fe..b13d50de 100644
--- a/libpathod/language/http2.py
+++ b/libpathod/language/http2.py
@@ -1,15 +1,20 @@
-import os
-import netlib.http2
import pyparsing as pp
-from . import base, generators, actions, message
+from . import base, actions, message
"""
Normal HTTP requests:
<method>:<path>:<header>:<body>
e.g.:
GET:/
- GET:/:foo=bar
- POST:/:foo=bar:'content body payload'
+ GET:/:h"foo"="bar"
+ POST:/:h"foo"="bar":b'content body payload'
+
+ Normal HTTP responses:
+ <code>:<header>:<body>
+ e.g.:
+ 200
+ 302:h"foo"="bar"
+ 404:h"foo"="bar":b'content body payload'
Individual HTTP/2 frames:
h2f:<payload_length>:<type>:<flags>:<stream_id>:<payload>
@@ -94,8 +99,8 @@ class Request(message.Message):
return []
@classmethod
- def expr(klass):
- parts = [i.expr() for i in klass.comps]
+ def expr(cls):
+ parts = [i.expr() for i in cls.comps]
atom = pp.MatchFirst(parts)
resp = pp.And(
[
@@ -105,7 +110,7 @@ class Request(message.Message):
pp.ZeroOrMore(base.Sep + atom)
]
)
- resp = resp.setParseAction(klass)
+ resp = resp.setParseAction(cls)
return resp
def resolve(self, settings, msg=None):
@@ -164,8 +169,8 @@ class Response(message.Message):
return self
@classmethod
- def expr(klass):
- parts = [i.expr() for i in klass.comps]
+ def expr(cls):
+ parts = [i.expr() for i in cls.comps]
atom = pp.MatchFirst(parts)
resp = pp.And(
[
@@ -173,7 +178,7 @@ class Response(message.Message):
pp.ZeroOrMore(base.Sep + atom)
]
)
- resp = resp.setParseAction(klass)
+ resp = resp.setParseAction(cls)
return resp
def values(self, settings):
@@ -196,6 +201,7 @@ class Response(message.Message):
def spec(self):
return ":".join([i.spec() for i in self.tokens])
+
def make_error_response(reason, body=None):
tokens = [
Code("800"),
@@ -203,5 +209,6 @@ def make_error_response(reason, body=None):
]
return Response(tokens)
+
# class Frame(message.Message):
# pass