Mercurial Hosting > luan
comparison web/src/luan/modules/web/Web_server.luan @ 188:e132b7a3d94c
add AuthenticationHandler
git-svn-id: https://luan-java.googlecode.com/svn/trunk@189 21e917c8-12df-6dd8-5cb6-c86387c605b9
author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
---|---|
date | Thu, 26 Jun 2014 06:49:01 +0000 |
parents | cf939124461a |
children | 04b86428dc50 |
comparison
equal
deleted
inserted
replaced
187:1cb298d918b2 | 188:e132b7a3d94c |
---|---|
11 import "org.eclipse.jetty.server.handler.RequestLogHandler" | 11 import "org.eclipse.jetty.server.handler.RequestLogHandler" |
12 import "org.eclipse.jetty.server.handler.ContextHandler" | 12 import "org.eclipse.jetty.server.handler.ContextHandler" |
13 import "org.eclipse.jetty.server.handler.GzipHandler" | 13 import "org.eclipse.jetty.server.handler.GzipHandler" |
14 import "org.eclipse.jetty.server.handler.HandlerWrapper" | 14 import "org.eclipse.jetty.server.handler.HandlerWrapper" |
15 import "org.eclipse.jetty.server.session.SessionHandler" | 15 import "org.eclipse.jetty.server.session.SessionHandler" |
16 import "luan.modules.web.AuthenticationHandler" | |
16 | 17 |
17 | 18 |
18 port = 8080 | 19 port = 8080 |
19 | 20 |
21 private_password = "password" | |
22 | |
20 welcome_file = "index.html" | 23 welcome_file = "index.html" |
21 | 24 |
22 | 25 |
23 session_handler = SessionHandler.new() | 26 authentication_handler = AuthenticationHandler.new("/private/") |
24 | 27 |
25 luan_handler = Http.new_luan_handler() | 28 luan_handler = Http.new_luan_handler() |
26 | 29 |
27 resource_handler = ResourceHandler.new() | 30 resource_handler = ResourceHandler.new() |
28 | 31 |
29 handlers = HandlerList.new() | 32 handlers = HandlerList.new() |
30 handlers.setHandlers { session_handler, luan_handler, resource_handler } | 33 handlers.setHandlers { authentication_handler, luan_handler, resource_handler } |
31 | 34 |
32 function add_folder(context,dir) | 35 function add_folder(context,dir) |
33 local rh = ResourceHandler.new() | 36 local rh = ResourceHandler.new() |
34 rh.setResourceBase(dir) | 37 rh.setResourceBase(dir) |
35 local ch = ContextHandler.new(context) | 38 local ch = ContextHandler.new(context) |
51 log.setExtended(false) | 54 log.setExtended(false) |
52 log_handler = RequestLogHandler.new() | 55 log_handler = RequestLogHandler.new() |
53 log_handler.setRequestLog(log) | 56 log_handler.setRequestLog(log) |
54 | 57 |
55 local hc = HandlerCollection.new() | 58 local hc = HandlerCollection.new() |
56 hc.setHandlers { handler_wrapper, DefaultHandler.new(), log_handler } | 59 hc.setHandlers { SessionHandler.new(), handler_wrapper, DefaultHandler.new(), log_handler } |
57 | 60 |
58 | 61 |
59 function serve(dir) | 62 function serve(dir) |
60 dir = dir.gsub("/$","") -- remove trailing '/' if any | 63 dir = dir.gsub("/$","") -- remove trailing '/' if any |
61 Package.path = dir.."?.luan;java:luan/modules/?.luan" | 64 Package.path = dir.."?.luan;java:luan/modules/?.luan" |
65 authentication_handler.setPassword(private_password) | |
62 resource_handler.setResourceBase(dir) | 66 resource_handler.setResourceBase(dir) |
63 resource_handler.setWelcomeFiles {welcome_file} | 67 resource_handler.setWelcomeFiles {welcome_file} |
64 luan_handler.setWelcomeFile(welcome_file) | 68 luan_handler.setWelcomeFile(welcome_file) |
65 local server = Server.new(port) | 69 local server = Server.new(port) |
66 server.setHandler(hc); | 70 server.setHandler(hc); |