953c04d8af6a05aa07b2e5778c4c32f2aaef1130
[WebKit.git] / Tools / Scripts / webkitpy / benchmark_runner / http_server_driver / http_server / twisted_http_server.py
1 #!/usr/bin/env python
2
3 from twisted.web import static, server
4 from twisted.web.resource import Resource
5 from twisted.internet import reactor
6 import argparse
7 import sys
8
9
10 class ServerControl(Resource):
11     isLeaf = True
12
13     def render_GET(self, request):
14         reactor.stop()
15         return ""
16
17     def render_POST(self, request):
18         sys.stdout.write(request.content.getvalue())
19         sys.stdout.flush()
20         return 'OK'
21
22
23 if __name__ == '__main__':
24     parser = argparse.ArgumentParser(description='python TwistedHTTPServer.py webRoot')
25     parser.add_argument('webRoot')
26     args = parser.parse_args()
27     webRoot = static.File(args.webRoot)
28     serverControl = ServerControl()
29     webRoot.putChild('shutdown', serverControl)
30     webRoot.putChild('report', serverControl)
31     reactor.listenTCP(0, server.Site(webRoot))
32     reactor.run()