mirror of
https://github.com/servo/servo.git
synced 2025-10-04 02:29:12 +01:00
42 lines
1.4 KiB
Python
42 lines
1.4 KiB
Python
import urllib
|
|
import time
|
|
|
|
def main(request, response):
|
|
index = request.request_path.index("?")
|
|
args = request.request_path[index+1:].split("&")
|
|
headers = []
|
|
statusSent = False
|
|
headersSent = False
|
|
for arg in args:
|
|
if arg.startswith("ignored"):
|
|
continue
|
|
elif arg.endswith("ms"):
|
|
time.sleep(float(arg[0:-2]) / 1E3);
|
|
elif arg.startswith("redirect:"):
|
|
return (302, "WEBPERF MARKETING"), [("Location", urllib.unquote(arg[9:]))], "TEST"
|
|
elif arg.startswith("mime:"):
|
|
headers.append(("Content-Type", urllib.unquote(arg[5:])))
|
|
elif arg.startswith("send:"):
|
|
text = urllib.unquote(arg[5:])
|
|
|
|
if not statusSent:
|
|
# Default to a 200 status code.
|
|
response.writer.write_status(200)
|
|
statusSent = True
|
|
if not headersSent:
|
|
for key, value in headers:
|
|
response.writer.write_header(key, value)
|
|
response.writer.end_headers()
|
|
headersSent = True
|
|
|
|
response.writer.write_content(text)
|
|
elif arg.startswith("status:"):
|
|
code = int(urllib.unquote(arg[7:]))
|
|
response.writer.write_status(code)
|
|
statusSent = True
|
|
elif arg == "flush":
|
|
response.writer.flush()
|
|
|
|
# else:
|
|
# error " INVALID ARGUMENT %s" % arg
|
|
|