ntopng/scripts/plugins/active_monitoring/http_lint.lua
2020-04-20 12:21:39 +02:00

47 lines
1.6 KiB
Lua

--
-- (C) 2019-20 - ntop.org
--
-- This script defines additional parameters validators for use in the
-- GET/POST requests. In ntopng any GET/POST parameter must be validated
-- via a validation function. The validation function returns true if the
-- parameter is valid, false otherwise. In the latter case, the POST request
-- is aborted with an error.
local script = {}
-- ##############################################
local function validateMeasurement(p)
local plugins_utils = require("plugins_utils")
local am_utils = plugins_utils.loadModule("active_monitoring", "am_utils")
if(am_utils) then
local available_measurements = am_utils.getMeasurementsInfo()
return(available_measurements[p] ~= nil)
end
return(false)
end
-- ##############################################
-- @brief Called by the main http_lint module to load additional parameters.
-- @params http_lint a reference to the scripts/lua/modules/http_lint.lua module
-- @return a (possibly empty) table with parameter_name -> validator mappings
function script.getAdditionalParameters(http_lint)
return {
-- The toggle_example_notification parameter will be validated using the
-- 'validateBool' validator.
["am_host"] = http_lint.validateSingleWord,
["old_am_host"] = http_lint.validateSingleWord,
["threshold"] = http_lint.validateEmptyOr(http_lint.validateNumber),
["measurement"] = validateMeasurement,
["old_measurement"] = validateMeasurement,
}
end
-- ##############################################
return(script)