def POST(self):
"""
Create file replicas at a given RSE.
HTTP Success:
201 Created
HTTP Error:
401 Unauthorized
409 Conflict
500 Internal Error
"""
json_data = data()
try:
parameters = parse_response(json_data)
except ValueError:
raise generate_http_error(400, 'ValueError', 'Cannot decode json parameter list')
try:
add_replicas(rse=parameters['rse'], files=parameters['files'], issuer=ctx.env.get('issuer'), ignore_availability=parameters.get('ignore_availability', False))
except InvalidPath, e:
raise generate_http_error(400, 'InvalidPath', e.args[0][0])
except AccessDenied, e:
raise generate_http_error(401, 'AccessDenied', e.args[0][0])
except Duplicate, e:
raise generate_http_error(409, 'Duplicate', e[0][0])
except DataIdentifierAlreadyExists, e:
raise generate_http_error(409, 'DataIdentifierAlreadyExists', e[0][0])
except RSENotFound, e:
raise generate_http_error(404, 'RSENotFound', e[0][0])
except ResourceTemporaryUnavailable, e:
raise generate_http_error(503, 'ResourceTemporaryUnavailable', e[0][0])
except RucioException, e:
raise generate_http_error(500, e.__class__.__name__, e.args[0][0])
except Exception, e:
print format_exc()
raise InternalError(e)
raise Created()
评论列表
文章目录