def discussion_instance_view_jsonld(request):
discussion = request.context._instance
user_id, permissions, salt = read_user_token(request)
if not (P_READ in permissions or P_READ_PUBLIC_CIF in permissions):
raise HTTPUnauthorized()
if not salt and P_ADMIN_DISC not in permissions:
salt = base64.urlsafe_b64encode(urandom(6))
jdata = discussion_jsonld(discussion.id)
if salt:
obfuscator = AESObfuscator(salt)
jdata = obfuscator.obfuscate(jdata)
# TODO: Add age
if "callback" in request.GET:
jdata = handle_jsonp(request.GET['callback'], jdata)
content_type = "application/javascript"
else:
content_type = "application/ld+json"
return Response(body=jdata, content_type=content_type, charset="utf-8")
评论列表
文章目录