diff options
Diffstat (limited to 'libs/lucittpd/root')
-rw-r--r-- | libs/lucittpd/root/usr/lib/lucittpd/plugins/httpd.lua | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/libs/lucittpd/root/usr/lib/lucittpd/plugins/httpd.lua b/libs/lucittpd/root/usr/lib/lucittpd/plugins/httpd.lua new file mode 100644 index 0000000000..2d3a9d8c87 --- /dev/null +++ b/libs/lucittpd/root/usr/lib/lucittpd/plugins/httpd.lua @@ -0,0 +1,35 @@ +function initialize() + local lucittpd = require "luci.ttpd.server" + server = lucittpd.Server(lucittpd.VHost()) +end + +function register() + local filehnd = require "luci.ttpd.handler.file" + local uci = require "luci.model.uci".cursor() + local filehandler = filehnd.Simple((uci:get("lucittpd", "lucittpd", "root") or "/www")) + server:get_default_vhost():set_default_handler(filehandler) +end + +function accept() + server:process({ + _read = function(...) + local chunk, err = webuci_read(...) + return chunk or (err and error(err, 0)) + end, + + _write = function(...) + local chunk, err = webuci_write(...) + return chunk or (err and error(err, 0)) + end, + + _close = function(...) + local chunk, err = webuci_close(...) + return chunk or (err and error(err, 0)) + end, + + _sendfile = function(...) + local chunk, err = webuci_sendfile(...) + return chunk or (err and error(err, 0)) + end + }) +end |