Source code

Revision control

Copy as Markdown

Other Tools

import os
from wptserve.utils import isomorphic_encode
def serve_js_from_file(request, response, filename):
body = b''
path = os.path.join(os.path.dirname(isomorphic_encode(__file__)), filename)
with open(path, 'rb') as f:
body = f.read()
return (
[
(b'Cache-Control', b'no-cache, must-revalidate'),
(b'Pragma', b'no-cache'),
(b'Content-Type', b'application/javascript')
], body)
def main(request, response):
key = request.GET[b"Key"]
visited_count = request.server.stash.take(key)
if visited_count is None:
visited_count = 0
# Keep how many times the test requested this resource.
visited_count += 1
request.server.stash.put(key, visited_count)
# Serve a file based on how many times it's requested.
if visited_count == 1:
return serve_js_from_file(request, response, request.GET[b"First"])
if visited_count == 2:
return serve_js_from_file(request, response, request.GET[b"Second"])
raise u"Unknown state"