Mercurial Hosting > luan
comparison src/luan/modules/http/Server.luan @ 1281:7fc83fd2a39a
http/Server cleanup
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 20 Dec 2018 14:09:19 -0700 |
parents | 3f4644246e39 |
children | 51a1987b55a3 |
comparison
equal
deleted
inserted
replaced
1280:781ec0a92bb5 | 1281:7fc83fd2a39a |
---|---|
38 function Io.schemes.site(path) | 38 function Io.schemes.site(path) |
39 return Io.uri( dir..path ) | 39 return Io.uri( dir..path ) |
40 end | 40 end |
41 end | 41 end |
42 | 42 |
43 function Server.start() | 43 local function start(server) |
44 try { | 44 try { |
45 function() | 45 function() |
46 LuanHandler.start(Server.server) | 46 LuanHandler.start(server) |
47 end | 47 end |
48 catch = function(e) | 48 catch = function(e) |
49 -- e.java.printStackTrace(); | 49 -- e.java.printStackTrace(); |
50 Io.print_to(Io.stderr, e ) | 50 Io.print_to(Io.stderr, e ) |
51 System.exit(-1) | 51 System.exit(-1) |
52 end | 52 end |
53 } | 53 } |
54 end | 54 end |
55 | 55 |
56 function Server.start_rpc() | 56 function Server.start_rpc(luan_handler) |
57 function Rpc.functions.call(domain,fn_name,...) | 57 function Rpc.functions.call(domain,fn_name,...) |
58 return Server.luan_handler.call_rpc(fn_name,...) | 58 return luan_handler.call_rpc(fn_name,...) |
59 end | 59 end |
60 Thread.fork(Rpc.serve) | 60 Thread.fork(Rpc.serve) |
61 end | 61 end |
62 | 62 |
63 function Server.serve(dir,port) | 63 function Server.serve(dir,port) |
72 handler = IndexHandler.new(handler) | 72 handler = IndexHandler.new(handler) |
73 handler = ListHandler.new( handler, dir_handler, not_found_hander ) | 73 handler = ListHandler.new( handler, dir_handler, not_found_hander ) |
74 handler = ContentTypeHandler.new(handler) | 74 handler = ContentTypeHandler.new(handler) |
75 handler = SafeHandler.new(handler) | 75 handler = SafeHandler.new(handler) |
76 handler = LogHandler.new(handler) | 76 handler = LogHandler.new(handler) |
77 Server.server = JavaServer.new(port,handler) | 77 local server = JavaServer.new(port,handler) |
78 Server.start() | 78 start(server) |
79 Server.start_rpc() | 79 return server, luan_handler |
80 end | 80 end |
81 | 81 |
82 function Server.serve_for_proxy(dir,port) | 82 function Server.serve_for_proxy(dir,port) |
83 port = port or 8080 | 83 port = port or 8080 |
84 Server.init_dir(dir) | 84 Server.init_dir(dir) |
85 local handler = LuanHandler.new() | 85 local luan_handler = LuanHandler.new() |
86 handler = IndexHandler.new(handler) | 86 local handler = IndexHandler.new(luan_handler) |
87 handler = ContentTypeHandler.new(handler) | 87 handler = ContentTypeHandler.new(handler) |
88 handler = SafeHandler.new(handler) | 88 handler = SafeHandler.new(handler) |
89 Server.server = JavaServer.new(port,handler) | 89 local server = JavaServer.new(port,handler) |
90 Server.start() | 90 start(server) |
91 return server, luan_handler | |
91 end | 92 end |
92 | 93 |
93 return Server | 94 return Server |