| #!/usr/bin/env python3 |
| |
| import os |
| import sys |
| from datetime import datetime, timedelta |
| from ping_file_path import ping_filepath |
| |
| |
| def not_being_called(): |
| cookies = {} |
| expires = datetime.utcnow() - timedelta(seconds=60) |
| if 'HTTP_COOKIE' in os.environ: |
| header_cookies = os.environ['HTTP_COOKIE'] |
| header_cookies = header_cookies.split('; ') |
| |
| for cookie in header_cookies: |
| cookie = cookie.split('=') |
| sys.stdout.write('Set-Cookie: {}=deleted; expires={} GMT; Max-Age=0; path=/\r\n'.format(cookie[0], expires.strftime('%a, %d-%b-%Y %H:%M:%S'))) |
| |
| |
| def save_ping(is_being_called): |
| ping_file = open('{}.tmp'.format(ping_filepath), 'w') |
| for name in sorted(os.environ.keys()): |
| if name in ['CONTENT_TYPE', 'HTTP_REFERER', 'HTTP_PING_TO', 'HTTP_PING_FROM', 'REQUEST_METHOD', 'HTTP_HOST', 'HTTP_COOKIE']: |
| ping_file.write('{}: {}\n'.format(name, os.environ.get(name))) |
| elif name == 'REQUEST_URI': |
| uri = os.environ.get(name) |
| if is_being_called: |
| uri = '/navigation/resources/save-ping.py?{}'.format(uri.split('?')[-1]) |
| ping_file.write('{}: {}\n'.format(name, uri)) |
| |
| ping_file.close() |
| if os.path.isfile('{}.tmp'.format(ping_filepath)): |
| os.rename('{}.tmp'.format(ping_filepath), ping_filepath) |
| |
| if not is_being_called: |
| not_being_called() |
| |
| sys.stdout.write('Content-Type: text/html\r\n\r\n') |