#!/usr/bin/env python3 import os import sys from urllib.parse import parse_qs request_method = os.environ.get('REQUEST_METHOD') count = int(parse_qs(os.environ.get('QUERY_STRING', ''), keep_blank_values=True).get('count', [0])[0]) sys.stdout.write('Content-Type: text/event-stream\r\n') if request_method == 'OPTIONS': sys.stdout.write('\r\nGot unexpected preflight request\n') sys.exit(0) http_origin = os.environ.get('HTTP_ORIGIN') http_last_event_id = os.environ.get('HTTP_LAST_EVENT_ID') if count == 2: sys.stdout.write('Access-Control-Allow-Origin: http://some.other.origin:80\r\n\r\n') elif count == 3: sys.stdout.write('Access-Control-Allow-Origin: *\r\n\r\n') elif count > 3: sys.stdout.write('Access-Control-Allow-Origin: {}\r\n\r\n'.format(http_origin)) else: sys.stdout.write('\r\n') if http_last_event_id != '77': print('id: 77\ndata: DATA1\nretry: 0\n') else: print('data: DATA2\n')