blob: 534ac9ed03ceedd30f40d878cc2c92c5785282be [file] [log] [blame]
# 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