summaryrefslogtreecommitdiffhomepage
path: root/libs/lucittpd/hostfiles/usr/lib
diff options
context:
space:
mode:
Diffstat (limited to 'libs/lucittpd/hostfiles/usr/lib')
-rw-r--r--libs/lucittpd/hostfiles/usr/lib/lucittpd/plugins/httpd.lua34
1 files changed, 34 insertions, 0 deletions
diff --git a/libs/lucittpd/hostfiles/usr/lib/lucittpd/plugins/httpd.lua b/libs/lucittpd/hostfiles/usr/lib/lucittpd/plugins/httpd.lua
new file mode 100644
index 0000000000..e40af98fd9
--- /dev/null
+++ b/libs/lucittpd/hostfiles/usr/lib/lucittpd/plugins/httpd.lua
@@ -0,0 +1,34 @@
+function initialize()
+ local lucittpd = require "luci.ttpd.server"
+ server = lucittpd.Server(lucittpd.VHost())
+end
+
+function register()
+ local filehnd = require "luci.ttpd.handler.file"
+ local filehandler = filehnd.Simple(os.getenv("LUCI_SYSROOT") .. "/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 \ No newline at end of file