Mercurial Hosting > luan
annotate src/luan/host/run.luan @ 1383:a3d0d1c2ce89
add NotFound to luanhost
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 01 Aug 2019 16:49:47 -0600 |
parents | 8d95711f6615 |
children | 27efb1fcbcb5 |
rev | line source |
---|---|
1353
8d95711f6615
replace java() with require "java"
Franklin Schmidt <fschmidt@gmail.com>
parents:
1347
diff
changeset
|
1 require "java" |
1135 | 2 local Luan = require "luan:Luan.luan" |
3 local error = Luan.error | |
4 local do_file = Luan.do_file or error() | |
1209
cff4a7d778a6
luanhost - load all sites at start
Franklin Schmidt <fschmidt@gmail.com>
parents:
1200
diff
changeset
|
5 local ipairs = Luan.ipairs or error() |
1135 | 6 local Io = require "luan:Io.luan" |
7 local Hosting = require "luan:host/Hosting.luan" | |
1181
51d1342e25ad
luanhost password handling
Franklin Schmidt <fschmidt@gmail.com>
parents:
1135
diff
changeset
|
8 local Logging = require "luan:logging/Logging.luan" |
51d1342e25ad
luanhost password handling
Franklin Schmidt <fschmidt@gmail.com>
parents:
1135
diff
changeset
|
9 local logger = Logging.logger "run" |
1383
a3d0d1c2ce89
add NotFound to luanhost
Franklin Schmidt <fschmidt@gmail.com>
parents:
1353
diff
changeset
|
10 local NotFound = require "java:luan.modules.http.NotFound" |
a3d0d1c2ce89
add NotFound to luanhost
Franklin Schmidt <fschmidt@gmail.com>
parents:
1353
diff
changeset
|
11 local ListHandler = require "java:luan.lib.webserver.handlers.ListHandler" |
1185
94cf2576a922
implement WebHandler for nginx
Franklin Schmidt <fschmidt@gmail.com>
parents:
1182
diff
changeset
|
12 local WebHandler = require "java:luan.host.WebHandler" |
1182 | 13 Hosting.WebHandler = WebHandler |
1135 | 14 |
1200
1e351b0d385e
move remove_old_web_log_files to luanhost
Franklin Schmidt <fschmidt@gmail.com>
parents:
1188
diff
changeset
|
15 |
1135 | 16 local here = Io.schemes.file(".").canonical().to_string() |
17 Hosting.sites_dir = here.."/sites/" | |
1181
51d1342e25ad
luanhost password handling
Franklin Schmidt <fschmidt@gmail.com>
parents:
1135
diff
changeset
|
18 |
1135 | 19 do_file "classpath:luan/host/main.luan" |
20 | |
21 | |
22 -- web server | |
23 | |
1347
643cf1c37723
move webserver to lib and bug fixes
Franklin Schmidt <fschmidt@gmail.com>
parents:
1315
diff
changeset
|
24 local Server = require "java:luan.lib.webserver.Server" |
643cf1c37723
move webserver to lib and bug fixes
Franklin Schmidt <fschmidt@gmail.com>
parents:
1315
diff
changeset
|
25 local IndexHandler = require "java:luan.lib.webserver.handlers.IndexHandler" |
643cf1c37723
move webserver to lib and bug fixes
Franklin Schmidt <fschmidt@gmail.com>
parents:
1315
diff
changeset
|
26 local ContentTypeHandler = require "java:luan.lib.webserver.handlers.ContentTypeHandler" |
643cf1c37723
move webserver to lib and bug fixes
Franklin Schmidt <fschmidt@gmail.com>
parents:
1315
diff
changeset
|
27 local SafeHandler = require "java:luan.lib.webserver.handlers.SafeHandler" |
1135 | 28 |
1383
a3d0d1c2ce89
add NotFound to luanhost
Franklin Schmidt <fschmidt@gmail.com>
parents:
1353
diff
changeset
|
29 local handler = WebHandler.new(Hosting.sites_dir) |
a3d0d1c2ce89
add NotFound to luanhost
Franklin Schmidt <fschmidt@gmail.com>
parents:
1353
diff
changeset
|
30 local not_found_hander = NotFound.new(handler) |
1315 | 31 handler = IndexHandler.new(handler) |
1383
a3d0d1c2ce89
add NotFound to luanhost
Franklin Schmidt <fschmidt@gmail.com>
parents:
1353
diff
changeset
|
32 handler = ListHandler.new( handler, not_found_hander ) |
1185
94cf2576a922
implement WebHandler for nginx
Franklin Schmidt <fschmidt@gmail.com>
parents:
1182
diff
changeset
|
33 handler = ContentTypeHandler.new(handler) |
94cf2576a922
implement WebHandler for nginx
Franklin Schmidt <fschmidt@gmail.com>
parents:
1182
diff
changeset
|
34 handler = SafeHandler.new(handler) |
94cf2576a922
implement WebHandler for nginx
Franklin Schmidt <fschmidt@gmail.com>
parents:
1182
diff
changeset
|
35 local server = Server.ForAddress.new("127.0.0.1",8080,handler) |
1135 | 36 server.start() |
1209
cff4a7d778a6
luanhost - load all sites at start
Franklin Schmidt <fschmidt@gmail.com>
parents:
1200
diff
changeset
|
37 |
cff4a7d778a6
luanhost - load all sites at start
Franklin Schmidt <fschmidt@gmail.com>
parents:
1200
diff
changeset
|
38 |
cff4a7d778a6
luanhost - load all sites at start
Franklin Schmidt <fschmidt@gmail.com>
parents:
1200
diff
changeset
|
39 local sites_dir = Io.schemes.file(Hosting.sites_dir) |
cff4a7d778a6
luanhost - load all sites at start
Franklin Schmidt <fschmidt@gmail.com>
parents:
1200
diff
changeset
|
40 for _, site_dir in ipairs(sites_dir.children()) do |
cff4a7d778a6
luanhost - load all sites at start
Franklin Schmidt <fschmidt@gmail.com>
parents:
1200
diff
changeset
|
41 local name = site_dir.name() |
cff4a7d778a6
luanhost - load all sites at start
Franklin Schmidt <fschmidt@gmail.com>
parents:
1200
diff
changeset
|
42 WebHandler.loadHandler(name) |
cff4a7d778a6
luanhost - load all sites at start
Franklin Schmidt <fschmidt@gmail.com>
parents:
1200
diff
changeset
|
43 end |