Mercurial Hosting > luan
changeset 2153:867e88728368 nginx_sites_addon
call nginx_sites/*/init.luan
| author | Franklin Schmidt <fschmidt@gmail.com> |
|---|---|
| date | Tue, 27 Jan 2026 18:49:42 -0700 |
| parents | 13f2ef0fe1de |
| children | 03d4c892b436 |
| files | src/luan/host/run.luan |
| diffstat | 1 files changed, 26 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
diff -r 13f2ef0fe1de -r 867e88728368 src/luan/host/run.luan --- a/src/luan/host/run.luan Tue Jan 27 17:14:33 2026 -0700 +++ b/src/luan/host/run.luan Tue Jan 27 18:49:42 2026 -0700 @@ -3,6 +3,8 @@ local error = Luan.error local ipairs = Luan.ipairs or error() local do_file = Luan.do_file or error() +local Package = require "luan:Package.luan" +local Thread = require "luan:Thread.luan" local Number = require "luan:Number.luan" local long = Number.long or error() local Io = require "luan:Io.luan" @@ -10,6 +12,7 @@ local WebHandler = require "java:luan.host.WebHandler" local Logging = require "luan:logging/Logging.luan" + local log_to_console = false for _, arg in ipairs{...} do if arg == "console" then @@ -67,9 +70,28 @@ local server = Server.ForAddress.new("127.0.0.1",8080,handler) server.start() +do + local sites_dir = Io.schemes.file(Hosted.sites_dir) + for _, site_dir in ipairs(sites_dir.children()) do + local name = site_dir.name() + WebHandler.loadHandler(name) + end +end -local sites_dir = Io.schemes.file(Hosted.sites_dir) -for _, site_dir in ipairs(sites_dir.children()) do - local name = site_dir.name() - WebHandler.loadHandler(name) + +-- ngnx servers + +do + local sites_dir = Io.schemes.file("nginx_sites") + for _, site_dir in ipairs(sites_dir.children() or {}) do + local name = site_dir.name() + Thread.run( function() + function Io.schemes.site(path,loading) + local u = Io.uri( "file:nginx_sites/"..name..path, loading ) + u.uri_string = "site:"..path + return u + end + Package.load("file:nginx_sites/"..name.."/init.luan") + end ) + end end
