status-reconnect.py (638B)
1 def main(request, response): 2 status_code = request.GET.first(b"status", b"204") 3 name = request.GET.first(b"id", status_code) 4 5 headers = [(b"Content-Type", b"text/event-stream")] 6 7 cookie_name = b"request" + name 8 9 if request.cookies.first(cookie_name, b"") == status_code: 10 status = 200 11 response.delete_cookie(cookie_name) 12 body = b"data: data\n\n" 13 else: 14 response.set_cookie(cookie_name, status_code); 15 status = (int(status_code), b"TEST") 16 body = b"retry: 2\n" 17 if b"ok_first" in request.GET: 18 body += b"data: ok\n\n" 19 20 return status, headers, body