comparison src/luan/modules/http/Server.luan @ 1184:2eba58842bbb

remove serve_for_nginx
author Franklin Schmidt <fschmidt@gmail.com>
date Wed, 21 Feb 2018 16:51:56 -0700
parents 49cf706c326a
children dada70cb57c1
comparison
equal deleted inserted replaced
1183:0f2890e2ba16 1184:2eba58842bbb
30 30
31 local Server = {} 31 local Server = {}
32 32
33 Server.port = 8080 33 Server.port = 8080
34 34
35 local function init_dir(dir) 35 function Server.init_dir(dir)
36 local dir_uri, dir_path 36 local dir_uri, dir_path
37 if matches(dir,":") then 37 if matches(dir,":") then
38 dir_uri = dir 38 dir_uri = dir
39 dir_path = match(dir,"^file:(.*)$") or error "server dir must be scheme 'file:'" 39 dir_path = match(dir,"^file:(.*)$") or error "server dir must be scheme 'file:'"
40 else 40 else
47 return Io.uri( dir_uri..path ) 47 return Io.uri( dir_uri..path )
48 end 48 end
49 return dir_path 49 return dir_path
50 end 50 end
51 51
52 local function start() 52 function Server.start()
53 try { 53 try {
54 function() 54 function()
55 LuanHandler.start(Server.server) 55 LuanHandler.start(Server.server)
56 end 56 end
57 catch = function(e) 57 catch = function(e)
68 end 68 end
69 Thread.fork(Rpc.serve) 69 Thread.fork(Rpc.serve)
70 end 70 end
71 71
72 function Server.serve(dir) 72 function Server.serve(dir)
73 local dir_path = init_dir(dir) 73 local dir_path = Server.init_dir(dir)
74 local file_handler = FileHandler.new(dir_path) 74 local file_handler = FileHandler.new(dir_path)
75 local dir_handler = DirHandler.new(file_handler) 75 local dir_handler = DirHandler.new(file_handler)
76 local luan_handler = LuanHandler.new() 76 local luan_handler = LuanHandler.new()
77 local not_found_hander = NotFound.new(luan_handler) 77 local not_found_hander = NotFound.new(luan_handler)
78 local handler = ListHandler.new( luan_handler, file_handler ) 78 local handler = ListHandler.new( luan_handler, file_handler )
80 handler = ListHandler.new( handler, not_found_hander, dir_handler ) 80 handler = ListHandler.new( handler, not_found_hander, dir_handler )
81 handler = ContentTypeHandler.new(handler) 81 handler = ContentTypeHandler.new(handler)
82 handler = SafeHandler.new(handler) 82 handler = SafeHandler.new(handler)
83 handler = LogHandler.new(handler) 83 handler = LogHandler.new(handler)
84 Server.server = JavaServer.new(Server.port,handler) 84 Server.server = JavaServer.new(Server.port,handler)
85 start() 85 Server.start()
86 Server.start_rpc() 86 Server.start_rpc()
87 end 87 end
88 88
89 function Server.serve_for_nginx(dir)
90 init_dir(dir)
91 local luan_handler = LuanHandler.new()
92 local not_found_hander = NotFound.new(luan_handler)
93 local handler = luan_handler
94 handler = IndexHandler.new(handler)
95 handler = ListHandler.new( handler, not_found_hander )
96 handler = ContentTypeHandler.new(handler)
97 handler = SafeHandler.new(handler)
98 handler = LogHandler.new(handler)
99 Server.server = JavaServer.ForAddress.new("127.0.0.1",Server.port,handler)
100 start()
101 end
102
103 return Server 89 return Server