annotate src/luan/host/run.luan @ 1181:51d1342e25ad

luanhost password handling
author Franklin Schmidt <fschmidt@gmail.com>
date Tue, 20 Feb 2018 19:50:30 -0700
parents 707a5d874f3e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1181
51d1342e25ad luanhost password handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1135
diff changeset
1 require "luan:logging/init.luan" -- initialize logging
1135
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
2 local Luan = require "luan:Luan.luan"
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
3 local error = Luan.error
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
4 local do_file = Luan.do_file or error()
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
5 local ipairs = Luan.ipairs or error()
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
6 local Io = require "luan:Io.luan"
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
7 local print = Io.print or error()
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
8 local String = require "luan:String.luan"
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
9 local Hosting = require "luan:host/Hosting.luan"
1181
51d1342e25ad luanhost password handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1135
diff changeset
10 local Logging = require "luan:logging/Logging.luan"
51d1342e25ad luanhost password handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1135
diff changeset
11 local logger = Logging.logger "run"
1135
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
12
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
13
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
14 local here = Io.schemes.file(".").canonical().to_string()
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
15 Hosting.sites_dir = here.."/sites/"
1181
51d1342e25ad luanhost password handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1135
diff changeset
16
51d1342e25ad luanhost password handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1135
diff changeset
17 -- tmp
51d1342e25ad luanhost password handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1135
diff changeset
18 local Util = require "classpath:luan/host/Util.luan"
51d1342e25ad luanhost password handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1135
diff changeset
19 local sites_dir = Io.schemes.file(Hosting.sites_dir)
51d1342e25ad luanhost password handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1135
diff changeset
20 for _, site in ipairs(sites_dir.children()) do
51d1342e25ad luanhost password handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1135
diff changeset
21 local password_file = site.child("password")
51d1342e25ad luanhost password handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1135
diff changeset
22 if password_file.exists() then
51d1342e25ad luanhost password handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1135
diff changeset
23 local domain = site.name()
51d1342e25ad luanhost password handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1135
diff changeset
24 local password = password_file.read_text()
51d1342e25ad luanhost password handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1135
diff changeset
25 Util.write_password(domain,password)
51d1342e25ad luanhost password handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1135
diff changeset
26 password_file.delete()
51d1342e25ad luanhost password handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1135
diff changeset
27 logger.info("fixed password for "..domain)
51d1342e25ad luanhost password handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1135
diff changeset
28 end
51d1342e25ad luanhost password handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1135
diff changeset
29 end
51d1342e25ad luanhost password handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1135
diff changeset
30
1135
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
31 do_file "classpath:luan/host/main.luan"
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
32
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
33
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
34 -- web server
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
35
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
36 java()
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
37 local Server = require "java:org.eclipse.jetty.server.Server"
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
38 local DefaultHandler = require "java:org.eclipse.jetty.server.handler.DefaultHandler"
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
39 local HandlerCollection = require "java:org.eclipse.jetty.server.handler.HandlerCollection"
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
40 local SessionHandler = require "java:org.eclipse.jetty.server.session.SessionHandler"
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
41 local SslSelectChannelConnector = require "java:org.eclipse.jetty.server.ssl.SslSelectChannelConnector"
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
42 local WebHandler = require "java:luan.host.WebHandler"
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
43
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
44 local server = Server.new(8080)
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
45
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
46 local handlers = HandlerCollection.new()
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
47 handlers.setHandlers {
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
48 SessionHandler.new(),
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
49 WebHandler.new(Hosting.sites_dir,server),
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
50 DefaultHandler.new()
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
51 }
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
52 server.setHandler(handlers);
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
53
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
54 server.start()
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
55
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
56
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
57 --[[
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
58 local tp = server.getThreadPool()
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
59 print(tp)
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
60 print(tp.getClass())
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
61 print("max "..tp.getMaxThreads())
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
62 print("getMaxQueued "..tp.getMaxQueued())
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
63
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
64 for _, c in ipairs(server.getConnectors()) do
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
65 print(c)
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
66 tp = c.getThreadPool()
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
67 print(tp)
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
68 end
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
69
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
70 print "done"
707a5d874f3e add luan.host
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
71 ]]