@Override public void handle(HttpExchange t) throws IOException { LOGGER.debug("file req " + t.getRequestURI()); String path = t.getRequestURI().getPath(); String response = null; String mime = null; int status = 200; if (path.contains("crossdomain.xml")) { response = "<?xml version=\"1.0\"?>" + "<!-- http://www.bitsontherun.com/crossdomain.xml -->" + "<cross-domain-policy>" + "<allow-access-from domain=\"*\" />" + "</cross-domain-policy>"; mime = "text/xml"; } else if (path.startsWith("/files/log/")) { String filename = path.substring(11); if (filename.equals("info")) { String log = PMS.get().getFrame().getLog(); log = log.replaceAll("\n", "<br>"); String fullLink = "<br><a href=\"/files/log/full\">Full log</a><br><br>"; String x = fullLink + log; if (StringUtils.isNotEmpty(log)) { x = x + fullLink; } response = "<html><title>UMS LOG</title><body>" + x + "</body></html>"; } else { File file = parent.getResources().getFile(filename); if (file != null) { filename = file.getName(); HashMap<String, Object> vars = new HashMap<>(); vars.put("title", filename); vars.put( "brush", filename.endsWith("debug.log") ? "debug_log" : filename.endsWith(".log") ? "log" : "conf"); vars.put("log", RemoteUtil.read(file).replace("<", "<")); response = parent.getResources().getTemplate("util/log.html").execute(vars); } else { status = 404; } } mime = "text/html"; } else if (parent.getResources().write(path.substring(7), t)) { // The resource manager found and sent the file, all done. return; } else { status = 404; } if (status == 404 && response == null) { response = "<html><body>404 - File Not Found: " + path + "</body></html>"; mime = "text/html"; } RemoteUtil.respond(t, response, status, mime); }