view src/luan/host/run.luan @ 1135:707a5d874f3e

add luan.host
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 28 Jan 2018 21:36:58 -0700
parents
children 51d1342e25ad
line wrap: on
line source

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"
require "luan:logging/init.luan"  -- initialize logging


local here = Io.schemes.file(".").canonical().to_string()
Hosting.sites_dir = here.."/sites/"
do_file "classpath:luan/host/main.luan"



-- web server

java()
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 WebHandler = require "java:luan.host.WebHandler"

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"
]]