| # Copyright 2012 Canonical Ltd. This software is licensed under the |
| # GNU Affero General Public License version 3 (see the file LICENSE). |
| |
| """Encoding requests as JSON data.""" |
| |
| from __future__ import ( |
| absolute_import, |
| print_function, |
| unicode_literals, |
| ) |
| |
| str = None |
| |
| __metaclass__ = type |
| __all__ = [ |
| 'encode_json_data', |
| ] |
| |
| import json |
| |
| |
| def encode_json_data(params): |
| """Encode params as JSON and set up headers for an HTTP POST. |
| |
| :param params: Can be a dict or a list, but should generally be a dict, to |
| match the key-value data expected by most receiving APIs. |
| :return: (body, headers) |
| """ |
| body = json.dumps(params) |
| headers = { |
| 'Content-Length': unicode(len(body)), |
| 'Content-Type': 'application/json', |
| } |
| return body, headers |