summaryrefslogtreecommitdiffhomepage
path: root/libs/lucittpd/root
diff options
context:
space:
mode:
Diffstat (limited to 'libs/lucittpd/root')
-rw-r--r--libs/lucittpd/root/usr/lib/lucittpd/plugins/httpd.lua35
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