comparison src/luan/modules/http/Server.luan @ 1358:1d31c1f3ea30

better not_found_handler
author Franklin Schmidt <fschmidt@gmail.com>
date Fri, 19 Apr 2019 00:47:58 -0600
parents 70a7eb76ee2c
children 27efb1fcbcb5
comparison
equal deleted inserted replaced
1357:70a7eb76ee2c 1358:1d31c1f3ea30
23 local SafeHandler = require "java:luan.lib.webserver.handlers.SafeHandler" 23 local SafeHandler = require "java:luan.lib.webserver.handlers.SafeHandler"
24 local LogHandler = require "java:luan.lib.webserver.handlers.LogHandler" 24 local LogHandler = require "java:luan.lib.webserver.handlers.LogHandler"
25 local ListHandler = require "java:luan.lib.webserver.handlers.ListHandler" 25 local ListHandler = require "java:luan.lib.webserver.handlers.ListHandler"
26 local LuanHandler = require "java:luan.modules.http.LuanHandler" 26 local LuanHandler = require "java:luan.modules.http.LuanHandler"
27 local System = require "java:java.lang.System" 27 local System = require "java:java.lang.System"
28 local NotFound = require "java:luan.modules.http.NotFound"
28 29
29 30
30 local Server = {} 31 local Server = {}
31 32
32 function Server.init_dir(dir) 33 function Server.init_dir(dir)
65 Server.init_dir(dir) 66 Server.init_dir(dir)
66 local dir_path = match(Http.dir,"^file:(.*)$") or error "server dir must be scheme 'file:'" 67 local dir_path = match(Http.dir,"^file:(.*)$") or error "server dir must be scheme 'file:'"
67 local file_handler = FileHandler.new(dir_path) 68 local file_handler = FileHandler.new(dir_path)
68 local dir_handler = DirHandler.new(file_handler) 69 local dir_handler = DirHandler.new(file_handler)
69 local luan_handler = LuanHandler.new() 70 local luan_handler = LuanHandler.new()
71 local not_found_hander = NotFound.new(luan_handler)
70 local handler = ListHandler.new( file_handler, luan_handler ) 72 local handler = ListHandler.new( file_handler, luan_handler )
71 handler = IndexHandler.new(handler) 73 handler = IndexHandler.new(handler)
72 handler = ListHandler.new( handler, dir_handler ) 74 handler = ListHandler.new( handler, dir_handler, not_found_hander )
73 handler = ContentTypeHandler.new(handler) 75 handler = ContentTypeHandler.new(handler)
74 handler = SafeHandler.new(handler) 76 handler = SafeHandler.new(handler)
75 handler = LogHandler.new(handler) 77 handler = LogHandler.new(handler)
76 local server = JavaServer.new(port,handler) 78 local server = JavaServer.new(port,handler)
77 Server.start(server) 79 Server.start(server)