diff options
author | Aleksey Lim <alsroot@sugarlabs.org> | 2012-08-21 15:23:32 (GMT) |
---|---|---|
committer | Aleksey Lim <alsroot@sugarlabs.org> | 2012-08-21 15:23:32 (GMT) |
commit | 421888b6fb38b6eb773998d40a6011edd36e5279 (patch) | |
tree | cf42c1a12a5cc4bb33570ae61f72ecd1897882cd | |
parent | d69b3b41364e6f57ce04442720da4935dd414acb (diff) |
Support JS callbacks in router
-rw-r--r-- | sugar_network/node/router.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sugar_network/node/router.py b/sugar_network/node/router.py index d4b5c35..57ffa1d 100644 --- a/sugar_network/node/router.py +++ b/sugar_network/node/router.py @@ -46,6 +46,10 @@ class Router(object): response = _Response() result = None + js_callback = None + if 'callback' in request: + js_callback = request.pop('callback') + try: request.principal = self._authenticate(request) result = self._cp.call(request, response) @@ -87,6 +91,8 @@ class Router(object): if not result_streamed and response.content_type == 'application/json': result = json.dumps(result) + if js_callback: + result = '%s(%s);' % (js_callback, result) response.content_length = len(result) _logger.debug('Called %s: response=%r result=%r streamed=%r', |