#!/usr/bin/env python3 import os import sys from datetime import datetime, timedelta file = __file__.split(':/cygwin')[-1] http_root = os.path.dirname(os.path.dirname(os.path.abspath(os.path.dirname(file)))) sys.path.insert(0, http_root) from resources.portabilityLayer import get_cookies sys.stdout.write( 'Set-Cookie: Purpose={}\r\n' 'Content-Type: text/html\r\n'.format(os.environ.get('HTTP_PURPOSE', 'deleted')) ) cookies = get_cookies() purpose = cookies.get('Purpose', None) if purpose is not None: expires= datetime.utcnow() - timedelta(seconds=3600) sys.stdout.write( 'Set-Cookie: Purpose=deleted, expires={} GMT; Max-Age=0\r\n\r\n' '
Purpose: {}'.format(expires.strftime('%a, %d-%b-%Y %H:%M:%S'), purpose) ) else: sys.stdout.write('
This test verifies that prefetches are sent with the HTTP request header Purpose: prefetch. To do this, the root page has a prefetch link targetting this subresource which contains a PHP script (resources/prefetch-purpose.py). That initial prefetch of this resource sets a cookie. Later, the root page sets window.location to target this script, which verifies the presence of the cookie, and generates the happy test output that you hopefully see right now.''')