7090cf3370d713afa032b5cd3fee918510ab548c
[it/otf.git] / a1-policy-manager-vth / app / routes / info.py
1 """\r
2 Args:\r
3 Returns:\r
4 Examples:\r
5 """\r
6 import json\r
7 import datetime\r
8 from flask import current_app, jsonify, request\r
9 import time\r
10 import requests\r
11 from app.errors.bad_request_exception import BadRequestException\r
12 from app.helpers.time_helper import unix_time_millis, timed_function\r
13 from app.helpers.response_helper import vth_response_dic\r
14 from app.helpers import response_helper as ResponseHelper\r
15 from app.helpers import action_helper as Info\r
16 from . import config, ROUTES\r
17 \r
18 \r
19 @ROUTES.route("/handle_action", methods=['POST'])\r
20 def handle_action_request():\r
21     return ResponseHelper.route_check(config=config, post_function = Info.execute_action)\r
22 \r
23 \r
24 @ROUTES.route("/", methods=['GET'])\r
25 def get_base():\r
26     """\r
27     Args:\r
28     Returns:\r
29     Examples:\r
30     """\r
31     current_app.logger.info(request.method)\r
32     response = vth_response_dic()\r
33     data = current_app.url_map\r
34     rules = []\r
35     methods_list = []\r
36     for rule in data.iter_rules():\r
37         ma = {rule.rule:[]}\r
38         for val in rule.methods:\r
39             if (val != "OPTIONS") and (val !="HEAD"):\r
40                 #print(val)\r
41                 ma[rule.rule].append(val)\r
42         rules.append(ma)\r
43 \r
44     #    methods_set.add(rule.methods)\r
45         #print(rule.methods)\r
46     #print(rules)\r
47     response["vthResponse"]["resultData"] = rules\r
48     #current_app.logger.info(current_app.url_map)\r
49     current_app.logger.debug("hit health point")\r
50     return jsonify(response)\r
51 \r
52 @ROUTES.route("/health", methods=['GET'])\r
53 def get_health():\r
54     """\r
55     Args:\r
56     Returns:\r
57     Examples:\r
58     """\r
59     current_app.logger.debug("hit health point")\r
60     return "UP"\r
61 \r
62 @ROUTES.route("/status", methods=['GET'])\r
63 def get_status():\r
64     """\r
65     Args:\r
66     Returns:\r
67     Examples:\r
68     """\r
69     suma = lambda: time.sleep(1)\r
70     #current_app.logger.info(current_app.url_map)\r
71     current_app.logger.info(unix_time_millis(datetime.datetime.now()))\r
72     current_app.logger.info(timed_function(suma))\r
73     current_app.logger.debug("some stuff")\r
74     #raise Exception("some error")\r
75     raise BadRequestException()\r
76     return "Running"\r