Mercurial Hosting > luan
view src/luan/host/jetty/run.luan @ 1182:0b55a1af5a44
add luan/host/jetty
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 20 Feb 2018 21:08:04 -0700 |
parents | src/luan/host/run.luan@51d1342e25ad |
children |
line wrap: on
line source
require "luan:logging/init.luan" -- initialize logging local Luan = require "luan:Luan.luan" local error = Luan.error local do_file = Luan.do_file or error() local ipairs = Luan.ipairs or error() local Io = require "luan:Io.luan" local print = Io.print or error() local String = require "luan:String.luan" local Hosting = require "luan:host/Hosting.luan" local Logging = require "luan:logging/Logging.luan" local logger = Logging.logger "run" java() local WebHandler = require "java:luan.host.jetty.WebHandler" Hosting.WebHandler = WebHandler local here = Io.schemes.file(".").canonical().to_string() Hosting.sites_dir = here.."/sites/" -- tmp local Util = require "classpath:luan/host/Util.luan" local sites_dir = Io.schemes.file(Hosting.sites_dir) for _, site in ipairs(sites_dir.children()) do local password_file = site.child("password") if password_file.exists() then local domain = site.name() local password = password_file.read_text() Util.write_password(domain,password) password_file.delete() logger.info("fixed password for "..domain) end end do_file "classpath:luan/host/main.luan" -- web server local Server = require "java:org.eclipse.jetty.server.Server" local DefaultHandler = require "java:org.eclipse.jetty.server.handler.DefaultHandler" local HandlerCollection = require "java:org.eclipse.jetty.server.handler.HandlerCollection" local SessionHandler = require "java:org.eclipse.jetty.server.session.SessionHandler" local SslSelectChannelConnector = require "java:org.eclipse.jetty.server.ssl.SslSelectChannelConnector" local server = Server.new(8080) local handlers = HandlerCollection.new() handlers.setHandlers { SessionHandler.new(), WebHandler.new(Hosting.sites_dir,server), DefaultHandler.new() } server.setHandler(handlers); server.start() --[[ local tp = server.getThreadPool() print(tp) print(tp.getClass()) print("max "..tp.getMaxThreads()) print("getMaxQueued "..tp.getMaxQueued()) for _, c in ipairs(server.getConnectors()) do print(c) tp = c.getThreadPool() print(tp) end print "done" ]]