-local ports = config.get(module.host, "core", "http_ports") or { 5280 };
-for _, options in ipairs(ports) do
- local port, base, ssl, interface = 5280, "files", false, nil;
- if type(options) == "number" then
- port = options;
- elseif type(options) == "table" then
- port, base, ssl, interface = options.port or 5280, options.path or "files", options.ssl or false, options.interface;
- elseif type(options) == "string" then
- base = options;
- end
- httpserver.new{ port = port, base = base, handler = handle_request, ssl = ssl }
+local function handle_file_request(method, body, request)
+ local path = preprocess_path(request.url.path);
+ if not path then return response_400; end
+ path = path:gsub("^/[^/]+", ""); -- Strip /files/
+ return serve_file(path);
+end
+
+local function handle_default_request(method, body, request)
+ local path = preprocess_path(request.url.path);
+ if not path then return response_400; end
+ return serve_file(path);