REST endpoints now return specific HTTP codes on failure (fix #4278)

This commit is contained in:
Alfredo Cardigliano 2020-08-20 11:45:17 +02:00
parent 745b3b52d3
commit ba2e44ddc6
37 changed files with 141 additions and 228 deletions

View file

@ -18,8 +18,6 @@ local rest_utils = require("rest_utils")
-- NOTE: in case of invalid login, no error is returned but redirected to login
--
sendHTTPContentTypeHeader('application/json')
local rc = rest_utils.consts.success.ok
local res = {}
@ -49,7 +47,7 @@ local top_hidden = ternary(_GET["top_hidden"] == "1", true, nil)
if isEmptyString(ifid) then
rc = rest_utils.consts.err.invalid_interface
print(rest_utils.rc(rc))
rest_utils.answer(rc)
return
end
@ -122,14 +120,14 @@ local hosts_stats = hosts_retrv_function(false, sortColumn, perPage, to_skip, sO
filtered_hosts, blacklisted_hosts, top_hidden, anomalous, dhcp_hosts, cidr)
if hosts_stats == nil then
print(rest_utils.rc(rest_utils.consts.err.not_found))
rest_utils.answer(rest_utils.consts.err.not_found)
return
end
hosts_stats = hosts_stats["hosts"]
if hosts_stats == nil then
print(rest_utils.rc(rest_utils.consts.err.internal_error))
rest_utils.answer(rest_utils.consts.err.internal_error)
return
end
@ -269,4 +267,4 @@ res = {
},
}
print(rest_utils.rc(rc, res))
rest_utils.answer(rc, res)