blob: 46da10169747690b36c35786c66d30dbb622a91e (
plain)
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
49
50
51
52
53
|
-- the squid controller
module (..., package.seeall)
-- Cause an http redirect to our "read" action
-- We use the self.conf table because it already has prefix,controller,etc
-- The redir code is defined in the application error handler (acf-controller)
local list_redir = function (self)
self.conf.action = "home"
self.conf.type = "redir"
error (self.conf)
end
local pvt = {}
mvc= {}
mvc.on_load = function( self, parent )
-- If they try to run a bogus action, send them to read
if ( rawget(self.worker, self.conf.action) == nil ) then
list_redir(self)
end
pvt.parent_on_exec = parent.worker.mvc.post_exec
end
mvc.pre_exec = function( self )
-- pvt.parent_on_exec ()
end
mvc.post_exec = function( self )
return pvt.parent_on_exec()
end
basic = function( self )
local option = { script = ENV["SCRIPT_NAME"],
prefix = self.conf.prefix,
controller = self.conf.controller,
action = self.conf.action,
extra = ""
}
local service = { message="", status="" }
if self.clientdata.srvcmd then
local srvcmd = self.clientdata.srvcmd
if srvcmd == "start" or srvcmd == "stop" or srvcmd == "restart" then
service.message = self.model.service_control( srvcmd )
end
end
service.status = self.model.get_status()
return ( cfe ({ option = option, service = service }) )
end
|