diff options
Diffstat (limited to 'testing/web-platform/tests/html/semantics/links/hyperlink-auditing/resources/stash-headers.py')
-rw-r--r-- | testing/web-platform/tests/html/semantics/links/hyperlink-auditing/resources/stash-headers.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/links/hyperlink-auditing/resources/stash-headers.py b/testing/web-platform/tests/html/semantics/links/hyperlink-auditing/resources/stash-headers.py new file mode 100644 index 0000000000..a0d4a38812 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/links/hyperlink-auditing/resources/stash-headers.py @@ -0,0 +1,27 @@ +import json +from wptserve.utils import isomorphic_decode + +def main(request, response): + key = request.GET[b"id"] + + if request.method == "POST": + content_type = request.headers.get(b"content-type", b"no content-type header") + ping_from = request.headers.get(b"ping-from", b"no ping-from header") + ping_to = request.headers.get(b"ping-to", b"no ping-to header") + + value = json.dumps({ + 'content-type': isomorphic_decode(content_type), + 'ping-from': isomorphic_decode(ping_from), + 'ping-to': isomorphic_decode(ping_to) + }) + request.server.stash.put(key, value) + + return (204, [], "") + + elif request.method == "GET": + value = request.server.stash.take(key) + if value is None: + value = "\"no headers yet\"" + return (200, [("Content-Type", "application/json")], str(value)) + + return (405, [], "") |