| # This Source Code Form is subject to the terms of the Mozilla Public | |
| # License, v. 2.0. If a copy of the MPL was not distributed with this file, | |
| # You can obtain one at http://mozilla.org/MPL/2.0/. | |
| import json | |
| def json_response(func): | |
| """ Translates results of 'func' into a JSON response. """ | |
| def wrap(*a, **kw): | |
| (code, data) = func(*a, **kw) | |
| json_data = json.dumps(data) | |
| return (code, { 'Content-type': 'application/json', | |
| 'Content-Length': len(json_data) }, json_data) | |
| return wrap |