class Troy::Server
def process
def process path = request.path[%r{^/(.*?)/?$}, 1] path = "index" if path == "" path = root.join(path) if request.path != "/" && request.path.end_with?("/") redirect normalized_path elsif (_path = Pathname.new("#{path}.html")).file? render(200, "text/html; charset=utf-8", _path) elsif (_path = Pathname.new("#{path}.xml")).file? render(200, "text/xml; charset=utf-8", _path) elsif path.file? render(200, Rack::Mime.mime_type(path.extname, "text/plain"), path) else render(404, "text/html; charset=utf-8", root.join("404.html")) end rescue Exception => error render(500, "text/html; charset=utf-8", root.join("500.html")) end