comparison web/src/luan/modules/web/Web_server.luan @ 264:9e0d4452e649

implement URL style module names git-svn-id: https://luan-java.googlecode.com/svn/trunk@265 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Wed, 29 Oct 2014 03:50:59 +0000
parents f1f7d8c7e94e
children 1507149fc447
comparison
equal deleted inserted replaced
263:54873a389f80 264:9e0d4452e649
1 import "Java" 1 import "luan:Java"
2 import "String" 2 import "luan:String"
3 import "Io" 3 import "luan:Io"
4 import "Package" 4 import "luan:Package"
5 import "web/Http" 5 import "luan:web/Http"
6 6
7 import "org.eclipse.jetty.server.Server" 7 import "class:org.eclipse.jetty.server.Server"
8 import "org.eclipse.jetty.server.NCSARequestLog" 8 import "class:org.eclipse.jetty.server.NCSARequestLog"
9 import "org.eclipse.jetty.server.handler.DefaultHandler" 9 import "class:org.eclipse.jetty.server.handler.DefaultHandler"
10 import "org.eclipse.jetty.server.handler.HandlerList" 10 import "class:org.eclipse.jetty.server.handler.HandlerList"
11 import "org.eclipse.jetty.server.handler.HandlerCollection" 11 import "class:org.eclipse.jetty.server.handler.HandlerCollection"
12 import "org.eclipse.jetty.server.handler.ResourceHandler" 12 import "class:org.eclipse.jetty.server.handler.ResourceHandler"
13 import "org.eclipse.jetty.server.handler.RequestLogHandler" 13 import "class:org.eclipse.jetty.server.handler.RequestLogHandler"
14 import "org.eclipse.jetty.server.handler.ContextHandler" 14 import "class:org.eclipse.jetty.server.handler.ContextHandler"
15 import "org.eclipse.jetty.server.handler.GzipHandler" 15 import "class:org.eclipse.jetty.server.handler.GzipHandler"
16 import "org.eclipse.jetty.server.handler.HandlerWrapper" 16 import "class:org.eclipse.jetty.server.handler.HandlerWrapper"
17 import "org.eclipse.jetty.server.session.SessionHandler" 17 import "class:org.eclipse.jetty.server.session.SessionHandler"
18 import "luan.modules.web.AuthenticationHandler" 18 import "class:luan.modules.web.AuthenticationHandler"
19 19
20 20
21 port = 8080 21 port = 8080
22 22
23 private_password = "password" 23 private_password = "password"
71 end 71 end
72 72
73 function serve(dir) 73 function serve(dir)
74 dir = dir.gsub("/$","") -- remove trailing '/' if any 74 dir = dir.gsub("/$","") -- remove trailing '/' if any
75 Http.dir = dir 75 Http.dir = dir
76 Package.path = dir .. "?.luan;classpath:luan/modules/?.luan" 76 function Io.protocols.site(path,loading)
77 return Io.get( dir..path, loading )
78 end
77 authentication_handler.setPassword(private_password) 79 authentication_handler.setPassword(private_password)
78 local base = dir 80 local base = dir
79 if base.match("^classpath:") ~= nil then 81 if base.match("^classpath:") ~= nil then
80 base = dir.."#"..welcome_file.."#"..welcome_file..".luan" 82 base = dir.."#"..welcome_file.."#"..welcome_file..".luan"
81 end 83 end