def _validate_form_object(value, allow_files=False): """ Ensure that `value` can be encoded as form data or as query parameters. """ if not isinstance(value, dict): msg = 'Must be an object.' raise exceptions.ParameterError(msg) return { text_type(item_key): _validate_form_field(item_val, allow_files=allow_files) for item_key, item_val in value.items() }
def _validate_json_data(value): """ Ensure that `value` can be encoded into JSON. """ if (value is None) or isinstance(value, (bool, int, float, string_types)): return value elif isinstance(value, (list, tuple)) and not is_file(value): return [_validate_json_data(item) for item in value] elif isinstance(value, dict): return { text_type(item_key): _validate_json_data(item_val) for item_key, item_val in value.items() } msg = 'Must be a JSON primative.' raise exceptions.ParameterError(msg)