Chromium Code Reviews| Index: net/tools/backoff_server/backoff_server.py |
| diff --git a/net/tools/backoff_server/backoff_server.py b/net/tools/backoff_server/backoff_server.py |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..4188cd103897b60c0e6fbb049af674aa46d15491 |
| --- /dev/null |
| +++ b/net/tools/backoff_server/backoff_server.py |
| @@ -0,0 +1,51 @@ |
| +#!/usr/bin/python2.4 |
|
wtc
2011/03/25 19:06:24
Should we add backoff_server.py to src/net/tools/t
Jói
2011/03/25 21:26:51
Done.
|
| +# Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| +# Use of this source code is governed by a BSD-style license that can be |
| +# found in the LICENSE file. |
| + |
| +"""This is a simple HTTP server for manually testing exponential |
| +back-off functionality in Chrome. |
| +""" |
| + |
| + |
| +import BaseHTTPServer |
| +import sys |
| +import urlparse |
| + |
| + |
| +class RequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): |
| + keep_running = True |
| + |
| + def do_GET(self): |
| + if self.path == '/quitquitquit': |
| + self.send_response(200) |
| + self.send_header('Content-Type', 'text/plain') |
| + self.end_headers() |
| + self.wfile.write('QUITTING') |
| + RequestHandler.keep_running = False |
| + return |
| + |
| + params = urlparse.parse_qs(urlparse.urlparse(self.path).query) |
| + |
| + if not params or not 'code' in params or params['code'][0] == '200': |
| + self.send_response(200) |
| + self.send_header('Content-Type', 'text/plain') |
| + self.end_headers() |
| + self.wfile.write('OK') |
| + else: |
| + self.send_error(int(params['code'][0])) |
| + |
| + |
| +def main(): |
| + if len(sys.argv) != 2: |
| + print "Usage: %s PORT" % sys.argv[0] |
| + sys.exit(1) |
| + port = int(sys.argv[1]) |
| + print "To stop the server, go to http://localhost:%d/quitquitquit" % port |
| + httpd = BaseHTTPServer.HTTPServer(('', port), RequestHandler) |
| + while RequestHandler.keep_running: |
| + httpd.handle_request() |
| + |
| + |
| +if __name__ == '__main__': |
| + main() |