def put(self, source, destination): """ Update distance information between source RSE and destination RSE. .. :quickref: Distance; Update RSE distance. :param source: The source RSE name. :param destination: The destination RSE name. :status 200: OK. :status 400: Cannot decode json parameter dictionary. :status 401: Invalid Auth Token. :status 404: RSE Not Found. """ parameters = json_parameters() try: update_distance( source=source, destination=destination, issuer=request.environ.get('issuer'), vo=request.environ.get('vo'), parameters=parameters, ) except AccessDenied as error: return generate_http_error_flask(401, error) except RSENotFound as error: return generate_http_error_flask(404, error) return '', 200
def put(self, source, destination): """ Update distance information between source RSE and destination RSE. .. :quickref: Distance; Update RSE distance. :param source: The source RSE name. :param destination: The destination RSE name. :status 200: OK. :status 400: Cannot decode json parameter dictionary. :status 401: Invalid Auth Token. :status 404: RSE Not Found. :status 500: Internal Error. """ json_data = request.data try: parameters = loads(json_data) except ValueError: return generate_http_error_flask( 400, 'ValueError', 'Cannot decode json parameter dictionary') try: update_distance(source=source, destination=destination, issuer=request.environ.get('issuer'), parameters=parameters) except AccessDenied, error: return generate_http_error_flask(401, 'AccessDenied', error.args[0])
def PUT(self, source, destination): """ Update distance information between source RSE and destination RSE. HTTP Success: 200 Updated HTTP Error: 400 Bad Request 401 Unauthorized 404 Not Found 409 Conflict 500 Internal Error :param rse: The RSE name. """ header('Content-Type', 'application/json') json_data = data().decode() try: parameters = loads(json_data) except ValueError: raise generate_http_error(400, 'ValueError', 'Cannot decode json parameter dictionary') try: update_distance(source=source, destination=destination, issuer=ctx.env.get('issuer'), parameters=parameters) except AccessDenied as error: raise generate_http_error(401, 'AccessDenied', error.args[0]) except RSENotFound as error: raise generate_http_error(404, 'RSENotFound', error.args[0]) except RucioException as error: raise generate_http_error(500, error.__class__.__name__, error.args[0]) except Exception as error: print(format_exc()) raise InternalError(error) raise OK()