blob: db2e7149ef462914690dd2a667b1c2ebd4410c45 [file] [log] [blame]
#!/usr/bin/env python3
import cgi
import os
import sys
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
request_method = os.environ.get('REQUEST_METHOD', '')
content_type = os.environ.get('CONTENT_TYPE', '')
query = parse_qs(os.environ.get('QUERY_STRING', ''), keep_blank_values=True)
redirected = query.get('redirected', [None])[0]
request = {}
if request_method == 'POST':
form = cgi.FieldStorage()
for key in form.keys():
request.update({ key: form.getvalue(key) })
else:
query = parse_qs(os.environ.get('QUERY_STRING', ''), keep_blank_values=True)
for key in query.keys():
request.update({ key: query[key][0] })
request.update(get_cookies())
status = int(request.get('status', 200))
data = ''.join(sys.stdin.readlines())
sys.stdout.write('Content-Type: text/html\r\n')
if status > 200 and redirected is None:
sys.stdout.write(
'status: {}\r\n'
'Location: redirect-methods-result.py?redirected=true\r\n\r\n'.format(status)
)
sys.exit(0)
sys.stdout.write(
'\r\nRequest Method: {}<br> \n'
'Request Body: {}<br>\n'
'Request Content-Type: {}'.format(request_method, data, content_type)
)