def main(request, response): key = request.GET[b"id"] # If hit with a POST with ?action=X, store X in the stash if request.method == "POST": action = request.GET[b"action"] request.server.stash.put(key, action) return (204, [], "") # If hit with a GET, either return a normal initial page, or the abnormal requested response elif request.method == "GET": action = request.server.stash.take(key) if action is None: return (200, [("Content-Type", "text/html"), ("Cache-Control", "no-store")], "initial page") if action == b"204": return (204, [], "") if action == b"205": return (205, [], "") if action == b"download": return (200, [("Content-Type", "text/plain"), ("Content-Disposition", "attachment")], "some text to download") return (400, [], "")