Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1042)

Unified Diff: chrome/browser/prerender/tools/prerender_test_server/prerender_test_server.py

Issue 2201093003: NoStatePrefetch: Add a more dummy prerender_test_server.py (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Renamed to tools/prerender_test_server/prerender_test_server.py Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/prerender/tools/prerender_test_server/prerender.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/prerender/tools/prerender_test_server/prerender_test_server.py
diff --git a/chrome/browser/prerender/tools/prerender_test_server/prerender_test_server.py b/chrome/browser/prerender/tools/prerender_test_server/prerender_test_server.py
new file mode 100755
index 0000000000000000000000000000000000000000..4874b8f3267da8a61ca258482b6aa02a06fbc9d6
--- /dev/null
+++ b/chrome/browser/prerender/tools/prerender_test_server/prerender_test_server.py
@@ -0,0 +1,69 @@
+#!/usr/bin/env python
+# Copyright 2016 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.
+
+# A local web server with a copy of functionality of
+# http://prerender-test.appspot.com with a DISABLED check whether Prerendering
+# is working.
+
+import BaseHTTPServer
+import argparse
+import os
+import sys
+
+
+THIS_DIR = os.path.abspath(os.path.dirname(__file__))
+
+
+def ReadFileRelative(file_name):
+ return open(os.path.join(THIS_DIR, file_name), 'r').read()
+
+
+class Handler(BaseHTTPServer.BaseHTTPRequestHandler):
+ def do_GET(self):
+ file_path = None
+ if self.path == '/':
+ self.path = '/index.html'
+ if self.path[0] == '/':
+ self.path = self.path[1:]
+ supported_file_to_mime = {
+ 'index.html': 'text/html',
+ 'default.css': 'text/css',
+ 'prerender.js': 'application/javascript'
+ }
+ if self.path in supported_file_to_mime:
+ file_path = self.path
+
+ if file_path:
+ self._SendHeaders(supported_file_to_mime[file_path])
+ self.wfile.write(ReadFileRelative(file_path))
+ self.wfile.close()
+ return
+
+ self.send_error(404, 'Not found')
+
+ def _SendHeaders(self, mime_type):
+ self.send_response(200)
+ self.send_header('Content-type', mime_type)
+ self.send_header('Cache-Control', 'no-cache')
+ self.end_headers()
+
+def main(argv):
+ parser = argparse.ArgumentParser(prog='prerender_test')
+ parser.add_argument('-p', '--port', type=int, default=8080,
+ help='port to run on (default = %(default)s)')
+ args = parser.parse_args(argv)
+
+ s = BaseHTTPServer.HTTPServer(('', args.port), Handler)
+ try:
+ print("Listening on http://localhost:%d/" % args.port)
+ s.serve_forever()
+ return 0
+ except KeyboardInterrupt:
+ s.server_close()
+ return 130
+
+
+if __name__ == '__main__':
+ sys.exit(main(sys.argv[1:]))
« no previous file with comments | « chrome/browser/prerender/tools/prerender_test_server/prerender.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698