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"