cors-cookie.py (1248B)
1 from datetime import datetime 2 3 def main(request, response): 4 last_event_id = request.headers.get(b"Last-Event-Id", b"") 5 ident = request.GET.first(b'ident', b"test") 6 cookie = b"COOKIE" if ident in request.cookies else b"NO_COOKIE" 7 origin = request.GET.first(b'origin', request.headers[b"origin"]) 8 credentials = request.GET.first(b'credentials', b'true') 9 10 headers = [] 11 12 if origin != b'none': 13 headers.append((b"Access-Control-Allow-Origin", origin)); 14 15 if credentials != b'none': 16 headers.append((b"Access-Control-Allow-Credentials", credentials)); 17 18 if last_event_id == b'': 19 headers.append((b"Content-Type", b"text/event-stream")) 20 response.set_cookie(ident, b"COOKIE") 21 data = b"id: 1\nretry: 200\ndata: first %s\n\n" % cookie 22 elif last_event_id == b'1': 23 headers.append((b"Content-Type", b"text/event-stream")) 24 long_long_time_ago = datetime.now().replace(year=2001, month=7, day=27) 25 response.set_cookie(ident, b"COOKIE", expires=long_long_time_ago) 26 data = b"id: 2\ndata: second %s\n\n" % cookie 27 else: 28 headers.append((b"Content-Type", b"stop")) 29 data = b"data: " + last_event_id + cookie + b"\n\n"; 30 31 return headers, data