3 from app.helpers import response_helper as ResponseHelper
\r
4 from flask import current_app, jsonify
\r
5 from app.errors.bad_request_exception import BadRequestException
\r
9 def execute_action(request, response_dict, config):
\r
10 headers = ResponseHelper.create_headers();
\r
11 request_data = request.json
\r
12 action_request = request_data.get("action").lower()
\r
14 creds = ResponseHelper.get_credentials(request_data, config)
\r
15 proxies = ResponseHelper.get_proxies(config)
\r
16 url = ResponseHelper.create_url(config=config, uri_path="/restconf/operations/A1-ADAPTER-API:"+action_request)
\r
17 # ret_url = request.args.get('retURL')
\r
19 json_req = ast.literal_eval(request_data["action_data"]["jsonBody"])
\r
20 current_app.logger.info("Requesting Url: {}, body: {}, auth: {}, proxies: {}".format(url, json_req, creds, proxies))
\r
22 res = requests.post(url, proxies=proxies, auth=creds, headers=headers, json=json_req)
\r
24 "status_code":res.status_code,
\r
25 "result": res.json()
\r
27 except(json.decoder.JSONDecodeError):
\r
29 "status_code":res.status_code,
\r
30 "result": res.reason
\r
32 except requests.exceptions.RequestException:
\r
35 "result": "Something Happned"
\r
38 response_dict['vthResponse']['resultData'] = response
\r
39 # if ret_url is not None:
\r
40 # ResponseHelper.sendCallback(ret_url,response_dict)
\r
42 return response_dict
\r