diff options
Diffstat (limited to 'testing/web-platform/tests/document-policy/echo-policy.py')
-rw-r--r-- | testing/web-platform/tests/document-policy/echo-policy.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/testing/web-platform/tests/document-policy/echo-policy.py b/testing/web-platform/tests/document-policy/echo-policy.py new file mode 100644 index 0000000000..2ad326dac7 --- /dev/null +++ b/testing/web-platform/tests/document-policy/echo-policy.py @@ -0,0 +1,30 @@ +# This will echo the 'Sec-Required-Document-Policy' request header in the body +# of the response, as well as in the 'Document-Policy' response header (to +# ensure the response is loaded by a user agent which is implementing document +# policy.) +import json + +from wptserve.utils import isomorphic_decode + +def main(request, response): + msg = {} + headers = [(b'Content-Type', b'text/html')] + + srdp = request.headers.get(b'Sec-Required-Document-Policy') + if srdp: + msg[u'requiredPolicy'] = isomorphic_decode(srdp) + headers.append((b'Document-Policy', srdp)) + + frameId = request.GET.first(b'id',None) + if frameId: + msg[u'id'] = isomorphic_decode(frameId) + + content = u"""<!DOCTYPE html> +<script> +top.postMessage(%s, "*"); +</script> +%s +""" % (json.dumps(msg), isomorphic_decode(srdp) if srdp != None else srdp) + + return (200, u'OK'), headers, content + |