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

Unified Diff: chrome/common/extensions/docs/server2/preview.py

Issue 14273035: Docserver: refactor the Handler/ServerInstance relationship into a servlet (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: done Created 7 years, 8 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
Index: chrome/common/extensions/docs/server2/preview.py
diff --git a/chrome/common/extensions/docs/server2/preview.py b/chrome/common/extensions/docs/server2/preview.py
index 3ede958726e7aa8d4425e1bcd4f460f7f09c27ab..5ea0e10493de6236fda9ffebb5e4d4093b2bfa8b 100755
--- a/chrome/common/extensions/docs/server2/preview.py
+++ b/chrome/common/extensions/docs/server2/preview.py
@@ -33,6 +33,7 @@ import build_server
# server quits.
build_server.main()
+from render_servlet import AlwaysOnline
from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
from local_renderer import LocalRenderer
import logging
@@ -46,14 +47,15 @@ def _GetLocalPath():
return os.path.join(sys.argv[0].rsplit(os.sep, 1)[0], os.pardir, os.pardir)
return os.path.join(os.pardir, os.pardir)
+@AlwaysOnline
def _Render(base_dir, path):
renderer = LocalRenderer(base_dir)
- content, status, headers = renderer.Render(path, always_online=True)
- while status in [301, 302]:
- redirect = headers['Location'].lstrip('/')
+ response = renderer.Render(path)
+ while response.status in [301, 302]:
+ redirect = response.headers['Location'].lstrip('/')
sys.stderr.write('<!-- Redirected %s to %s -->\n' % (path, redirect))
- content, status, headers = renderer.Render(redirect, always_online=True)
- return (content, status, headers)
+ response = renderer.Render(redirect)
+ return response
class RequestHandler(BaseHTTPRequestHandler):
class Factory(object):
@@ -70,12 +72,12 @@ class RequestHandler(BaseHTTPRequestHandler):
"""A HTTPRequestHandler that outputs the docs page generated by Handler.
"""
def do_GET(self):
- content, status, headers = _Render(self._base_dir, self.path)
- self.send_response(status)
- for k, v in headers.iteritems():
+ response = _Render(self._base_dir, self.path)
+ self.send_response(response.status)
+ for k, v in response.headers.iteritems():
self.send_header(k, v)
self.end_headers()
- self.wfile.write(content)
+ self.wfile.write(response.content)
if __name__ == '__main__':
parser = optparse.OptionParser(
@@ -114,9 +116,9 @@ if __name__ == '__main__':
if opts.time:
start_time = time.time()
- content, status, headers = _Render(opts.directory, path)
- if status != 200:
- print('Error status: %s' % status)
+ response = _Render(opts.directory, path)
+ if response.status != 200:
+ print('Error status: %s' % response.status)
exit(1)
for _ in range(extra_iterations):
« no previous file with comments | « chrome/common/extensions/docs/server2/local_renderer.py ('k') | chrome/common/extensions/docs/server2/render_servlet.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698