def decode_json_post_data(fn):
"""Decorator that parses POSTed JSON and attaches it to the request
object (:obj:`request.data`)."""
@wraps(fn)
def wrapped_function(*args, **kwargs):
if request.method == 'POST':
data = request.get_data(cache=False)
if not data:
raise OcdApiError('No data was POSTed', 400)
try:
request_charset = request.mimetype_params.get('charset')
if request_charset is not None:
data = json.loads(data, encoding=request_charset)
else:
data = json.loads(data)
except:
raise OcdApiError('Unable to parse POSTed JSON', 400)
request.data = data
return fn(*args, **kwargs)
return wrapped_function
评论列表
文章目录