| #!/usr/bin/python2.4 |
| # 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() |