#!/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()