diff options
Diffstat (limited to 'testing/web-platform/tests/xhr/resources/no-custom-header-on-preflight.py')
-rw-r--r-- | testing/web-platform/tests/xhr/resources/no-custom-header-on-preflight.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/testing/web-platform/tests/xhr/resources/no-custom-header-on-preflight.py b/testing/web-platform/tests/xhr/resources/no-custom-header-on-preflight.py new file mode 100644 index 0000000000..835c12813d --- /dev/null +++ b/testing/web-platform/tests/xhr/resources/no-custom-header-on-preflight.py @@ -0,0 +1,27 @@ +def main(request, response): + def getState(token): + server_state = request.server.stash.take(token) + if not server_state: + return b"Uninitialized" + return server_state + + def setState(state, token): + request.server.stash.put(token, state) + + response.headers.set(b"Access-Control-Allow-Origin", b"*") + response.headers.set(b"Access-Control-Allow-Headers", b"x-test") + response.headers.set(b"Access-Control-Max-Age", 0) + token = request.GET.first(b"token", None) + + if request.method == u"OPTIONS": + if request.headers.get(b"x-test"): + response.content = b"FAIL: Invalid header in preflight request." + response.status = 400 + else: + setState(b"PASS", token) + else: + if request.headers.get(b"x-test"): + response.content = getState(token) + else: + response.content = b"FAIL: X-Test header missing in request" + response.status = 400 |