Mercurial Hosting > luan
diff 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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/luan/host/jetty/run.luan Tue Feb 20 21:08:04 2018 -0700 @@ -0,0 +1,71 @@ +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" +]]