comparison src/luan/modules/http/Server.luan @ 1173:bdbd1d12c1f2

minor
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 11 Feb 2018 16:31:02 -0700
parents 1aa6dd74f3fc
children d6d0bd05ad8c
comparison
equal deleted inserted replaced
1172:1aa6dd74f3fc 1173:bdbd1d12c1f2
45 return Io.uri( dir_uri..path ) 45 return Io.uri( dir_uri..path )
46 end 46 end
47 return dir_path 47 return dir_path
48 end 48 end
49 49
50 function Server.init(dir) 50 local function start(handler)
51 function Rpc.functions.call(domain,fn_name,...)
52 return Server.luan_handler.call_rpc(fn_name,...)
53 end
54 Thread.fork(Rpc.serve)
55
56 Server.server = JavaServer.new(Server.port,handler)
57 LuanHandler.start(Server.server)
58 end
59
60 function Server.serve(dir)
51 local dir_path = init_dir(dir) 61 local dir_path = init_dir(dir)
52 local file_handler = FileHandler.new(dir_path) 62 local file_handler = FileHandler.new(dir_path)
53 local dir_handler = DirHandler.new(file_handler) 63 local dir_handler = DirHandler.new(file_handler)
54 local luan_handler = LuanHandler.new() 64 local luan_handler = LuanHandler.new()
55 local not_found_hander = NotFound.new(luan_handler) 65 local not_found_hander = NotFound.new(luan_handler)
56 local handler = ListHandler.new( luan_handler, file_handler ) 66 local handler = ListHandler.new( luan_handler, file_handler )
57 handler = IndexHandler.new(handler) 67 handler = IndexHandler.new(handler)
58 handler = ListHandler.new( handler, dir_handler, not_found_hander ) 68 handler = ListHandler.new( handler, not_found_hander, dir_handler )
59 handler = ContentTypeHandler.new(handler) 69 handler = ContentTypeHandler.new(handler)
60 handler = SafeHandler.new(handler) 70 handler = SafeHandler.new(handler)
61 handler = LogHandler.new(handler) 71 handler = LogHandler.new(handler)
62 Server.server = JavaServer.new(Server.port,handler) 72 start(handler)
63 end
64
65 function Server.start()
66 LuanHandler.start(Server.server)
67 end
68
69 function Server.start_rpc()
70 function Rpc.functions.call(domain,fn_name,...)
71 return Server.luan_handler.call_rpc(fn_name,...)
72 end
73
74 Thread.fork(Rpc.serve)
75 end
76
77 function Server.serve(dir)
78 Server.init(dir)
79 Server.start_rpc()
80 Server.start()
81 end 73 end
82 74
83 function Server.serve_for_nginx(dir) 75 function Server.serve_for_nginx(dir)
84 init_dir(dir) 76 init_dir(dir)
85 local luan_handler = LuanHandler.new() 77 local luan_handler = LuanHandler.new()
88 handler = IndexHandler.new(handler) 80 handler = IndexHandler.new(handler)
89 handler = ListHandler.new( handler, not_found_hander ) 81 handler = ListHandler.new( handler, not_found_hander )
90 handler = ContentTypeHandler.new(handler) 82 handler = ContentTypeHandler.new(handler)
91 handler = SafeHandler.new(handler) 83 handler = SafeHandler.new(handler)
92 handler = LogHandler.new(handler) 84 handler = LogHandler.new(handler)
93 Server.server = JavaServer.new(Server.port,handler) 85 start(handler)
94
95 Server.start_rpc()
96 Server.start()
97 end 86 end
98 87
99 return Server 88 return Server