blob: e406043ed74826ccfeb7075a2449c8ce4dc08fbd [file] [log] [blame]
#!/usr/bin/env python3
import os
import sys
from datetime import datetime, timedelta
from urllib.parse import parse_qs
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
cookies = get_cookies()
def delete_cookie(name):
expires = datetime.utcnow() - timedelta(seconds=86400)
sys.stdout.write('Set-Cookie: {}=deleted; expires={} GMT; Max-Age=0; path=/\r\n'.format(name, expires.strftime('%a, %d-%b-%Y %H:%M:%S')))
query_function = parse_qs(os.environ.get('QUERY_STRING', ''), keep_blank_values=True).get('queryfunction', [''])[0]
sys.stdout.write('Content-Type: text/html\r\n')
if query_function == 'deleteCookiesAndPostMessage':
for cookie in cookies.keys():
delete_cookie(cookie)
sys.stdout.write('\r\n<script>window.opener.postMessage(\'done\', \'*\');</script>\n')
elif query_function == 'deleteCookies':
for cookie in cookies.keys():
delete_cookie(cookie)
sys.stdout.write('\r\nDeleted all cookies')
sys.exit(0)
elif query_function == 'setFooCookie':
expires = datetime.utcnow() + timedelta(seconds=86400)
sys.stdout.write(
'Set-Cookie: foo=awesomevalue; expires={} GMT; Max-Age=86400; path=/\r\n\r\n'
'Set the foo cookie'.format(expires.strftime('%a, %d-%b-%Y %H:%M:%S'))
)
sys.exit(0)
elif query_function == 'setFooAndBarCookie':
expires = datetime.utcnow() + timedelta(seconds=86400)
sys.stdout.write(
'Set-Cookie: foo=awesomevalue; expires={expires} GMT; Max-Age=86400; path=/\r\n'
'Set-Cookie: bar=anotherawesomevalue; expires={expires} GMT; Max-Age=86400; path=/\r\n\r\n'
'Set the foo and bar cookies'.format(expires=expires.strftime('%a, %d-%b-%Y %H:%M:%S'))
)
sys.exit(0)
else:
sys.stdout.write('\r\nCookies are:\n')
for cookie in cookies:
cookie = cookie.split('=')
sys.stdout.write('{} = {}\n'.format(cookie[0], cookie[1]))