| Index: third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/report.py
|
| diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/report.py b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/report.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..193315fa07bdccfa2efa2371cc4ecbd4ead81079
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/report.py
|
| @@ -0,0 +1,34 @@
|
| +import time
|
| +import json
|
| +import re
|
| +
|
| +def main(request, response):
|
| + op = request.GET.first("op");
|
| + key = request.GET.first("reportID")
|
| +
|
| + if op == "take":
|
| + timeout = float(request.GET.first("timeout"))
|
| + t0 = time.time()
|
| + while time.time() - t0 < timeout:
|
| + time.sleep(0.5)
|
| + value = request.server.stash.take(key=key)
|
| + if value is not None:
|
| + return [("Content-Type", "application/json")], value
|
| +
|
| + return [("Content-Type", "application/json")], json.dumps({'error': 'No such report.' , 'guid' : key})
|
| +
|
| + if op == "cookies":
|
| + cval = request.server.stash.take(key=re.sub('^...', 'ccc', key))
|
| + if cval is None:
|
| + cval = "\"None\""
|
| +
|
| + return [("Content-Type", "application/json")], "{ \"reportCookies\" : " + cval + "}"
|
| +
|
| + if hasattr(request, 'Cookies'):
|
| + request.server.stash.put(key=re.sub('^...', 'ccc', key), value=request.Cookies)
|
| +
|
| + report = request.body
|
| + report.rstrip()
|
| + request.server.stash.take(key=key)
|
| + request.server.stash.put(key=key, value=report)
|
| + return [("Content-Type", "text/plain")], "Recorded report " + report
|
|
|