Process Alt-Svc headers.
[chromium-blink-merge.git] / testing / legion / examples / http_example / http_server.py
blobdeda8792a4763a3e8fb2a9d1126f7a9af94f865e
1 # Copyright 2015 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 import argparse
6 import SimpleHTTPServer
7 import SocketServer
8 import sys
9 import threading
10 import time
13 class Handler(SimpleHTTPServer.SimpleHTTPRequestHandler):
15 def do_GET(self):
16 self.wfile.write('SUCCESS!')
19 def GetArgs():
20 """Returns the specified command line args."""
21 parser = argparse.ArgumentParser()
22 parser.add_argument('--port', required=True, type=int)
23 parser.add_argument('--timeout', type=int, default=60)
24 return parser.parse_args()
27 def main():
28 """Run a webserver until the process is killed."""
29 server = None
30 args = GetArgs()
31 try:
32 server = SocketServer.TCPServer(('', args.port), Handler)
33 thread = threading.Thread(target=server.serve_forever)
34 thread.start()
35 start = time.time()
36 while time.time() < start + args.timeout:
37 time.sleep(1)
38 finally:
39 if server:
40 server.shutdown()
43 if __name__ == '__main__':
44 sys.exit(main())