OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 from cron_servlet import CronServlet | 5 from cron_servlet import CronServlet |
6 from instance_servlet import InstanceServlet | 6 from instance_servlet import InstanceServlet |
7 from patch_servlet import PatchServlet | 7 from patch_servlet import PatchServlet |
8 from servlet import Servlet, Request, Response | 8 from servlet import Servlet, Request, Response |
9 from test_servlet import TestServlet | 9 from test_servlet import TestServlet |
10 | 10 |
11 _DEFAULT_SERVLET = InstanceServlet.GetConstructor() | 11 _DEFAULT_SERVLET = InstanceServlet.GetConstructor() |
12 _SERVLETS = { | 12 _SERVLETS = { |
13 'cron': CronServlet, | 13 'cron': CronServlet, |
14 'patch': PatchServlet, | 14 'patch': PatchServlet, |
15 'test': TestServlet, | 15 'test': TestServlet, |
16 } | 16 } |
17 | 17 |
18 class Handler(Servlet): | 18 class Handler(Servlet): |
19 def Get(self): | 19 def Get(self): |
20 path = self._request.path | 20 path = self._request.path |
21 | 21 |
| 22 if path == '_ah/start': |
| 23 return Response.Ok('Backend starting.') |
| 24 if path == '_ah/stop': |
| 25 return Response.Ok('Backend stopping.') |
22 if path.startswith('_'): | 26 if path.startswith('_'): |
23 servlet_path = path[1:] | 27 servlet_path = path[1:] |
24 if not '/' in servlet_path: | 28 if not '/' in servlet_path: |
25 servlet_path += '/' | 29 servlet_path += '/' |
26 servlet_name, servlet_path = servlet_path.split('/', 1) | 30 servlet_name, servlet_path = servlet_path.split('/', 1) |
27 servlet = _SERVLETS.get(servlet_name) | 31 servlet = _SERVLETS.get(servlet_name) |
28 if servlet is None: | 32 if servlet is None: |
29 return Response.NotFound('"%s" servlet not found' % servlet_path) | 33 return Response.NotFound('"%s" servlet not found' % servlet_path) |
30 else: | 34 else: |
31 servlet_path = path | 35 servlet_path = path |
32 servlet = _DEFAULT_SERVLET | 36 servlet = _DEFAULT_SERVLET |
33 | 37 |
34 return servlet( | 38 return servlet( |
35 Request(servlet_path, self._request.host, self._request.headers)).Get() | 39 Request(servlet_path, self._request.host, self._request.headers)).Get() |
OLD | NEW |