aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libpathod/language/http2.py18
-rw-r--r--libpathod/pathod.py7
2 files changed, 11 insertions, 14 deletions
diff --git a/libpathod/language/http2.py b/libpathod/language/http2.py
index 1d2517d3..c28b904e 100644
--- a/libpathod/language/http2.py
+++ b/libpathod/language/http2.py
@@ -179,7 +179,7 @@ class Response(message.Message):
body = self.body
if body:
- body = body.values(settings)
+ body = body.string()
self.rendered_values = settings.protocol.create_response(
self.code.string(),
@@ -192,17 +192,11 @@ class Response(message.Message):
return ":".join([i.spec() for i in self.tokens])
def make_error_response(reason, body=None):
- raise NotImplementedError
- # tokens = [
- # Code("800"),
- # Header(
- # base.TokValueLiteral("Content-Type"),
- # base.TokValueLiteral("text/plain")
- # ),
- # Reason(base.TokValueLiteral(reason)),
- # Body(base.TokValueLiteral("pathod error: " + (body or reason))),
- # ]
- # return Response(tokens)
+ tokens = [
+ Code("800"),
+ Body(base.TokValueLiteral("pathod error: " + (body or reason))),
+ ]
+ return Response(tokens)
# class Frame(message.Message):
# pass
diff --git a/libpathod/pathod.py b/libpathod/pathod.py
index 535340cb..b6f04b92 100644
--- a/libpathod/pathod.py
+++ b/libpathod/pathod.py
@@ -306,8 +306,11 @@ class PathodHandler(tcp.BaseHandler):
)])
else:
if self.use_http2:
- raise NotImplementedError(\
- "HTTP/2 only supports request/response with the craft anchor point.")
+ anchor_gen = iter([self.make_http_error_response(
+ "Spec Error",
+ "HTTP/2 only supports request/response with the craft anchor point: %s" %
+ self.server.craftanchor
+ )])
if anchor_gen: