Index: appengine/isolate/handlers_frontend.py |
diff --git a/appengine/isolate/handlers_frontend.py b/appengine/isolate/handlers_frontend.py |
index f93736c7497398d8b6f43ad7920c01cc3040c283..90d8048a4ae3ebe77f4228e5ae84d55bd70f2188 100644 |
--- a/appengine/isolate/handlers_frontend.py |
+++ b/appengine/isolate/handlers_frontend.py |
@@ -63,11 +63,27 @@ class RestrictedConfigHandler(auth.AuthenticatingHandler): |
def get(self): |
self.common(None) |
+ @staticmethod |
+ def cast_to_type(param_name, value): |
+ def to_bool(value): |
+ if type(value) is bool: |
+ return value |
+ return {'True': True, 'False': False}.get(value, False) |
+ |
+ def to_str(value): |
M-A Ruel
2016/02/19 20:51:49
Remove.
Sergey Berezin
2016/02/19 23:20:34
Done.
|
+ return str(value) |
+ |
+ cast = { |
+ 'enable_ts_monitoring': to_bool, |
+ }.get(param_name, to_str) |
M-A Ruel
2016/02/19 20:51:49
s/to_str/str/
Sergey Berezin
2016/02/19 23:20:34
Good catch, thx! done.
|
+ return cast(value) |
+ |
@auth.require(auth.is_admin) |
def post(self): |
# Convert MultiDict into a dict. |
params = { |
- k: self.request.params.getone(k) for k in self.request.params |
+ k: self.cast_to_type(k, self.request.params.getone(k)) |
+ for k in self.request.params |
if k not in ('keyid', 'xsrf_token') |
} |
cfg = config.settings(fresh=True) |