Mercurial Hosting > luan
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 |