예제 #1
0
def api_get_version():
    branch = subprocess.check_output(['git', 'rev-parse', '--symbolic-full-name', '--abbrev-ref', 'HEAD']).strip('\n')
    version_num = subprocess.check_output(['git', 'rev-list', 'HEAD', '--count']).strip('\n')
    m = {
        "version": version_num,
        "branch": branch
    }
    return response_builder.build_raw_response(data=m)
예제 #2
0
def api_discovery():
    api_list = []
    for rule in app.url_map.iter_rules():
        methods = rule.methods
        if "HEAD" in methods:
            methods.remove("HEAD")
        if "OPTIONS" in methods:
            methods.remove("OPTIONS")
        api_model = ApiModel(str(rule.rule), list(methods))
        api_list.append(api_model)
    api_list.sort(key=lambda api_model: api_model.url, reverse=False)

    i = 0
    for a in api_list:
        api_list[i] = a.__dict__
        i += 1
    return response_builder.build_raw_response(data=api_list)
예제 #3
0
def api_call_service():
    if request.method == "POST":
        SimpleLogger.get_logger().info("---------- called callapi ----------")
        req = request.get_json(force=True)
        protocol = str(req.get("protocol"))
        ip = str(req.get("ip"))
        api_url = str(req.get("api_url"))
        data = str(req.get("data"))
        method = str(req.get("method"))

        if data is None or data == 'None':
            data = {}

        res = service_request.call_api(protocol, ip, api_url, method, data=data)
        res_data = {
            "data": jsonpickle.decode(res.content),
            "status_code": res.status_code
        }
        return response_builder.build_raw_response(data=res_data, status_code=res.status_code)
예제 #4
0
def api_get_methods():
    return response_builder.build_raw_response(data=METHOD_LIST)
예제 #5
0
def api_get_protocols():
    return response_builder.build_raw_response(data=PROTOCOL_LIST)