| 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):
|
|
|