1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
--
-- (C) 2013-22 - ntop.org
--
local dirs = ntop.getDirs()
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
require "lua_utils"
local json = require("dkjson")
local recording_utils = require "recording_utils"
sendHTTPContentTypeHeader('application/json')
local res = {}
if not recording_utils.isAvailable() then
res.error = i18n("traffic_recording.not_granted")
else
if _POST["epoch_begin"] == nil or _POST["epoch_end"] == nil then
res.error = i18n("traffic_recording.missing_parameters")
else
interface.select(ifname)
local ifstats = interface.getStats()
local filter = _POST["bpf_filter"]
local time_from = tonumber(_POST["epoch_begin"])
local time_to = tonumber(_POST["epoch_end"])
local chart_url = _POST["url"]
local timeline_path
if recording_utils.getCurrentTrafficRecordingProvider(ifstats.id) ~= "ntopng" then
timeline_path = recording_utils.getCurrentTrafficRecordingProviderTimelinePath(ifstats.id)
end
local params = {
time_from = time_from,
time_to = time_to,
filter = filter,
chart_url = chart_url,
timeline_path = timeline_path
}
local job_info = recording_utils.scheduleExtraction(ifstats.id, params)
res.id = job_info.id
end
end
print(json.encode(res))
|