172fcf253812caf4b915eb71620d9a0a33d33448
[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         return 'OK'
20
21
22 if __name__ == '__main__':
23     parser = argparse.ArgumentParser(description='python TwistedHTTPServer.py webRoot')
24     parser.add_argument('webRoot')
25     args = parser.parse_args()
26     webRoot = static.File(args.webRoot)
27     serverControl = ServerControl()
28     webRoot.putChild('shutdown', serverControl)
29     webRoot.putChild('report', serverControl)
30     reactor.listenTCP(0, server.Site(webRoot))
31     reactor.run()