Simple Linux Panel
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mdserver-web/plugins/op_waf/waf/lua/common.lua

83 lines
1.5 KiB

6 years ago
6 years ago
local setmetatable = setmetatable
local _M = { _VERSION = '0.01' }
local mt = { __index = _M }
function _M.new(cpath, rpath)
ngx.log(ngx.ERR,"read:"..cpath..",rpath:"..rpath)
local self = {
cpath = cpath,
rpath = rpath,
}
local p = setmetatable(self, mt)
return p
end
function _M.return_message(self, status, msg)
6 years ago
ngx.header.content_type = "application/json;"
ngx.status = status
ngx.say(json.encode(msg))
ngx.exit(status)
end
6 years ago
function _M.return_html(self,status,html)
6 years ago
ngx.header.content_type = "text/html"
ngx.status = status
ngx.say(html)
ngx.exit(status)
end
6 years ago
function _M.read_file_body(self, filename)
ngx.log(ngx.ERR,"read_file_body:"..filename)
fp = io.open(filename, 'r')
6 years ago
if fp == nil then
return nil
end
fbody = fp:read("*a")
fp:close()
if fbody == '' then
return nil
end
return fbody
end
6 years ago
function _M.select_rule(self, rules)
if not rules then return {} end
new_rules = {}
for i,v in ipairs(rules)
do
if v[1] == 1 then
table.insert(new_rules,v[2])
end
end
return new_rules
end
function _M.read_file(self, name)
f = self.rpath .. name .. '.json'
ngx.log(ngx.ERR,"read:"..name)
ngx.log(ngx.ERR,"read2:".. f)
fbody = self:read_file_body(f)
ngx.log(ngx.ERR,"read3:".. fbody)
if fbody == nil then
return {}
end
return json.decode(fbody)
end
function _M.t(self)
ngx.say(',,,')
end
return _M