protected void handleGet(HttpRequest request) throws IOException {
        String path = request.getRelativePath();
        File file = new File(wwwRoot, path);
        if (!file.exists()) {
            String data = "<html><body>Not found</body></html>";
            sendResponse(HTTP_STATUS.HTTP_FILE_NOT_FOUND, MIME.HTML, data);
        } else if (file.isFile()) {
            sendResponse(HTTP_STATUS.HTTP_OK, request.getMime(), file);
        } else {
            StringBuilder data = new StringBuilder();
            data.append("<html>\n<body>\n");
            data.append(format("<h1>Directory %s</h1>\n", request.getPath()));
            File parentDir = file.getParentFile();
            if (!file.equals(wwwRoot)) {
                if (parentDir.equals(wwwRoot))
                    data.append("<a href=\"/\">..</a><br/>\n");
                else
                    data.append(format("<a href=\"%s\">..</a><br/>\n", getRelativePath(parentDir)));
            }
            for (File linkTo : file.listFiles()) {
                data.append(format("<a href=\"%s\">%s</a><br/>\n", getRelativePath(linkTo), linkTo.getName()));
            }
            data.append("</body>\n</html>");
            sendResponse(HTTP_STATUS.HTTP_OK, MIME.HTML, data.toString());
        }
    }