Merge LuCIttpd
[project/luci.git] / libs / lucittpd / root / usr / lib / lucittpd / plugins / httpd.lua
1 function initialize()
2         local lucittpd = require "luci.ttpd.server"
3         server = lucittpd.Server(lucittpd.VHost())
4 end
5
6 function register()
7         local filehnd = require "luci.ttpd.handler.file"
8         local uci = require "luci.model.uci".cursor()
9         local filehandler = filehnd.Simple((uci:get("lucittpd", "lucittpd", "root") or "/www"))
10         server:get_default_vhost():set_default_handler(filehandler)
11 end
12
13 function accept()
14         server:process({
15                 _read = function(...)
16                         local chunk, err = webuci_read(...)
17                         return chunk or (err and error(err, 0))
18                 end,
19
20                 _write = function(...)
21                         local chunk, err = webuci_write(...)
22                         return chunk or (err and error(err, 0))
23                 end,
24
25                 _close = function(...)
26                         local chunk, err = webuci_close(...)
27                         return chunk or (err and error(err, 0))
28                 end,
29
30                 _sendfile = function(...)
31                         local chunk, err = webuci_sendfile(...)
32                         return chunk or (err and error(err, 0))
33                 end
34         })
35 end