def POST(self):
# To be moved in a common processor
attachments, ignore_duplicate = [], False
try:
json_data = loads(data())
if type(json_data) is dict:
attachments = json_data.get('attachments')
ignore_duplicate = json_data.get('ignore_duplicate')
elif type(json_data) is list:
attachments = json_data
except ValueError:
raise generate_http_error(400, 'ValueError', 'Cannot decode json parameter list')
try:
attach_dids_to_dids(attachments=attachments, ignore_duplicate=ignore_duplicate, issuer=ctx.env.get('issuer'))
except DataIdentifierNotFound, error:
raise generate_http_error(404, 'DataIdentifierNotFound', error.args[0][0])
except DuplicateContent, error:
raise generate_http_error(409, 'DuplicateContent', error.args[0][0])
except DataIdentifierAlreadyExists, error:
raise generate_http_error(409, 'DataIdentifierAlreadyExists', error.args[0][0])
except AccessDenied, error:
raise generate_http_error(401, 'AccessDenied', error.args[0][0])
except UnsupportedOperation, error:
raise generate_http_error(409, 'UnsupportedOperation', error.args[0][0])
except RucioException, error:
raise generate_http_error(500, error.__class__.__name__, error.args[0])
except Exception, error:
print format_exc()
raise InternalError(error)
raise Created()
评论列表
文章目录