diff --git a/libpathod/language.py b/libpathod/language.py
index 7f1d8cec9..766765178 100644
--- a/libpathod/language.py
+++ b/libpathod/language.py
@@ -586,7 +586,8 @@ class Reason(_Component):
@classmethod
def expr(klass):
- e = Value.copy()
+ e = pp.Literal("m").suppress()
+ e = e + Value
return e.setParseAction(lambda x: klass(*x))
def values(self, settings):
@@ -724,7 +725,8 @@ class Response(Message):
InjectAt,
ShortcutContentType,
ShortcutLocation,
- Raw
+ Raw,
+ Reason
)
logattrs = ["code", "reason", "version", "body"]
def __init__(self):
@@ -749,7 +751,6 @@ class Response(Message):
resp = pp.And(
[
Code.expr(),
- pp.Optional(Reason.expr()),
pp.ZeroOrMore(Sep + atom)
]
)
diff --git a/libpathod/templates/docs_lang.html b/libpathod/templates/docs_lang.html
index ebed73880..f01d61fbd 100644
--- a/libpathod/templates/docs_lang.html
+++ b/libpathod/templates/docs_lang.html
@@ -17,17 +17,10 @@
The general form of a response is as follows:
-
code[MESSAGE]:[colon-separated list of features]
+
code:[colon-separated list of features]
-
- hVALUE=VALUE |
-
- Set a header.
- |
-
-
bVALUE |
@@ -44,6 +37,21 @@
|
+
+ dOFFSET |
+
+ Disconnect after OFFSET bytes.
+ |
+
+
+
+ hVALUE=VALUE |
+
+ Set a header.
+ |
+
+
+
iOFFSET,VALUE |
@@ -60,9 +68,10 @@
|
- dOFFSET |
+ mVALUE |
- Disconnect after OFFSET bytes.
+ HTTP Reason message. Automatically chosen according to
+ the response code if not specified.
|
@@ -94,13 +103,6 @@
-
- hVALUE=VALUE |
-
- Set a header.
- |
-
-
bVALUE |
@@ -118,16 +120,23 @@
|
- iOFFSET,VALUE |
+ dOFFSET |
- Inject the specified value at the offset.
+ Disconnect after OFFSET bytes.
|
- dOFFSET |
+ hVALUE=VALUE |
- Disconnect after OFFSET bytes.
+ Set a header.
+ |
+
+
+
+ iOFFSET,VALUE |
+
+ Inject the specified value at the offset.
|
diff --git a/libpathod/templates/index.html b/libpathod/templates/index.html
index 3c1ba8ff2..9561fee1f 100644
--- a/libpathod/templates/index.html
+++ b/libpathod/templates/index.html
@@ -31,7 +31,7 @@
name="spec"
class="input-medium search-query"
value="{{spec}}"
- placeholder="code[msg]:[features]"
+ placeholder="code:[features]"
>
go
diff --git a/libpathod/templates/response_previewform.html b/libpathod/templates/response_previewform.html
index 74e213621..7f72aaeb2 100644
--- a/libpathod/templates/response_previewform.html
+++ b/libpathod/templates/response_previewform.html
@@ -5,7 +5,7 @@
name="spec"
class="input-medium search-query"
value="{{spec}}"
- placeholder="code[msg]:[features]"
+ placeholder="code:[features]"
>
{% if not nocraft %}
diff --git a/test/test_language.py b/test/test_language.py
index 0d7c60da7..0d3f26859 100644
--- a/test/test_language.py
+++ b/test/test_language.py
@@ -498,11 +498,11 @@ class TestResponse:
assert r.code.string() == "202"
def test_response(self):
- r = language.parse_response({}, "400'msg'")
+ r = language.parse_response({}, "400:m'msg'")
assert r.code.string() == "400"
assert r.reason.string() == "msg"
- r = language.parse_response({}, "400'msg':b@100b")
+ r = language.parse_response({}, "400:m'msg':b@100b")
assert r.reason.string() == "msg"
assert r.body.values({})
assert str(r)
@@ -514,7 +514,7 @@ class TestResponse:
def test_render(self):
s = cStringIO.StringIO()
- r = language.parse_response({}, "400'msg'")
+ r = language.parse_response({}, "400:m'msg'")
assert r.serve(s, {})
def test_raw(self):
@@ -537,9 +537,9 @@ class TestResponse:
s = cStringIO.StringIO()
x.serve(s, {})
assert x.length({}, None) == len(s.getvalue())
- testlen(language.parse_response({}, "400'msg'"))
- testlen(language.parse_response({}, "400'msg':h'foo'='bar'"))
- testlen(language.parse_response({}, "400'msg':h'foo'='bar':b@100b"))
+ testlen(language.parse_response({}, "400:m'msg'"))
+ testlen(language.parse_response({}, "400:m'msg':h'foo'='bar'"))
+ testlen(language.parse_response({}, "400:m'msg':h'foo'='bar':b@100b"))
def test_maximum_length(self):
def testlen(x, actions):
@@ -548,7 +548,7 @@ class TestResponse:
x.serve(s, {})
assert m >= len(s.getvalue())
- r = language.parse_response({}, "400'msg':b@100")
+ r = language.parse_response({}, "400:m'msg':b@100")
actions = [
language.DisconnectAt(0)
diff --git a/test/test_pathod.py b/test/test_pathod.py
index 3fe7e848e..30498c3a7 100644
--- a/test/test_pathod.py
+++ b/test/test_pathod.py
@@ -40,7 +40,6 @@ class TestTimeout(tutils.DaemonTests):
# FIXME: Add float values to spec language, reduce test timeout to
# increase test performance
assert self.get("200:p1,1").status_code == 200
- print self.d.last_log()
assert self.d.last_log()["type"] == "timeout"