comparison web/src/luan/modules/web/Web_server.luan @ 181:5d2cb8c1f844

add web logging git-svn-id: https://luan-java.googlecode.com/svn/trunk@182 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Tue, 24 Jun 2014 07:16:53 +0000
parents bdbd4740121f
children e6d6596a8bcc
comparison
equal deleted inserted replaced
180:5351374efb6d 181:5d2cb8c1f844
1 import "Java" 1 import "Java"
2 2
3 import "org.eclipse.jetty.server.Server" 3 import "org.eclipse.jetty.server.Server"
4 import "org.eclipse.jetty.server.NCSARequestLog"
4 import "org.eclipse.jetty.server.handler.DefaultHandler" 5 import "org.eclipse.jetty.server.handler.DefaultHandler"
5 import "org.eclipse.jetty.server.handler.HandlerList" 6 import "org.eclipse.jetty.server.handler.HandlerList"
7 import "org.eclipse.jetty.server.handler.HandlerCollection"
6 import "org.eclipse.jetty.server.handler.ResourceHandler" 8 import "org.eclipse.jetty.server.handler.ResourceHandler"
9 import "org.eclipse.jetty.server.handler.RequestLogHandler"
7 import "org.eclipse.jetty.server.session.SessionHandler" 10 import "org.eclipse.jetty.server.session.SessionHandler"
8 import "web/Http" 11 import "web/Http"
9 12
10 13
11 port = 8080 14 port = 8080
12 15
13 16
14 resource_handler = ResourceHandler.new()
15
16 session_handler = SessionHandler.new() 17 session_handler = SessionHandler.new()
17 18
18 luan_handler = Http.new_luan_handler() 19 luan_handler = Http.new_luan_handler()
19 20
21 resource_handler = ResourceHandler.new()
22
20 handlers = HandlerList.new() 23 handlers = HandlerList.new()
21 handlers.setHandlers { resource_handler, session_handler, luan_handler, DefaultHandler.new() } 24 handlers.setHandlers { session_handler, luan_handler, resource_handler, DefaultHandler.new(), log_handler }
25
26 log = NCSARequestLog.new()
27 log.setExtended(false)
28 log_handler = RequestLogHandler.new()
29 log_handler.setRequestLog(log)
30
31 local hc = HandlerCollection.new()
32 hc.setHandlers { handlers, log_handler }
22 33
23 34
24 function serve(dir) 35 function serve(dir)
25 dir = dir.gsub("/$","") -- remove trailing '/' if any 36 dir = dir.gsub("/$","") -- remove trailing '/' if any
26 Package.path = dir.."?.luan;java:luan/modules/?.luan" 37 Package.path = dir.."?.luan;java:luan/modules/?.luan"
27 resource_handler.setResourceBase(dir) 38 resource_handler.setResourceBase(dir)
28 local server = Server.new(port) 39 local server = Server.new(port)
29 server.setHandler(handlers); 40 server.setHandler(hc);
30 server.start() 41 server.start()
31 end 42 end