Esempio n. 1
0
def test_request_processing(request_context):
    global_request.set_var("varname", "1a")
    global_request.set_var("varname2", "1")

    global_request.get_unicode_input("varname", deflt="lol")
    global_request.get_integer_input_mandatory("varname2")
    global_request.get_request(exclude_vars=["varname2"])
Esempio n. 2
0
def test_request_processing(request_context: RequestContextFixture) -> None:
    global_request.set_var("varname", "1a")
    global_request.set_var("varname2", "1")

    global_request.get_str_input("varname", deflt="lol")
    global_request.get_integer_input_mandatory("varname2")
    global_request.get_request(exclude_vars=["varname2"])
Esempio n. 3
0
    def page(self) -> AjaxPageResult:
        with output_funnel.plugged():
            api_request = request.get_request()
            job_snapshot = self._show_details_page(api_request["job_id"])
            content = output_funnel.drain()

        return {
            "status_container_content": content,
            "is_finished": job_snapshot and not job_snapshot.is_active(),
        }
Esempio n. 4
0
    def _ajax_show_nagvis_maps_snapin(self):
        api_request = request.get_request()
        if api_request["type"] == "table":
            self._show_table(api_request)
        elif api_request["type"] == "tree":
            self._show_tree(api_request)
        elif api_request["type"] == "error":
            html.show_error(api_request["message"])
        else:
            raise NotImplementedError()

        self._show_footnote_links()
Esempio n. 5
0
def page_host_inv_api() -> None:
    # The response is always a top level dict with two elements:
    # a) result_code - This is 0 for expected processing and 1 for an error
    # b) result      - In case of an error this is the error message, a UTF-8 encoded string.
    #                  In case of success this is a dictionary containing the host inventory.
    try:
        api_request = request.get_request()
        # The user can either specify a single host or provide a list of host names. In case
        # multiple hosts are handled, there is a top level dict added with "host > invdict" pairs
        hosts = api_request.get("hosts")
        if hosts:
            result = {}
            for a_host_name in hosts:
                check_for_valid_hostname(a_host_name)
                result[a_host_name] = inventory_of_host(
                    a_host_name, api_request)

        else:
            host_name = api_request.get("host")
            if host_name is None:
                raise MKUserError("host", _("You need to provide a \"host\"."))
            check_for_valid_hostname(host_name)

            result = inventory_of_host(host_name, api_request)

            if not result and not has_inventory(host_name):
                raise MKGeneralException(
                    _("Found no inventory data for this host."))

        resp = {"result_code": 0, "result": result}

    except MKException as e:
        resp = {"result_code": 1, "result": "%s" % e}

    except Exception as e:
        if config.debug:
            raise
        resp = {"result_code": 1, "result": "%s" % e}

    if html.output_format == "json":
        _write_json(resp)
    elif html.output_format == "xml":
        _write_xml(resp)
    else:
        _write_python(resp)
Esempio n. 6
0
def ajax_render_graph_content():
    response.set_content_type("application/json")
    try:
        api_request = request.get_request()
        resp = {
            "result_code":
            0,
            "result":
            render_graph_content_html(api_request["graph_recipe"],
                                      api_request["graph_data_range"],
                                      api_request["graph_render_options"]),
        }
    except Exception:
        logger.exception("could not render graph")
        resp = {
            "result_code": 1,
            "result": _("Unhandled exception: %s") % traceback.format_exc(),
        }

    response.set_data(json.dumps(resp))
Esempio n. 7
0
def _get_request(api_call):
    if api_call.get("dont_eval_request"):
        req = global_request.var("request")
        return {} if req is None else req
    return global_request.get_request(exclude_vars=["action", "pretty_print"])
Esempio n. 8
0
 def webapi_request(self) -> Dict[str, Any]:
     return request.get_request()
Esempio n. 9
0
def _get_request(api_call: APICallDefinitionDict) -> dict[str, Any]:
    return request.get_request(exclude_vars=["action", "pretty_print"])