private String getLoginUri(final HttpServletRequest request) { String uri = "/Login?" + RELOCATE_PARAM_NAME + "=" + request.getRequestURI(); if (!"".equals(request.getQueryString())) { uri += "?" + request.getQueryString(); } return uri; } }
@NonNull private String getPathname(final HttpServletRequest request) { return Environment.getExternalStorageDirectory() + StringUtilities.urlDecode(request.getQueryString()); }
/** * {@inheritDoc} */ @Override public void service(final HttpServletRequest request, final HttpServletResponse response) throws ServletException { ServerConfig serverConfig = (ServerConfig) getServletContext().getAttribute(ServerConfig.class.getName()); if (!serverConfig.getAttribute(ATTR_ADMIN_DRIVE_ACCESS_ENABLED).equals(ServerConfigImpl.TRUE)) { response.getWriter().println("Option disabled in configuration."); return; } boolean fileExists = false; if (!request.getQueryString().equals("")) { File f = new File(getPathname(request)); if (f.exists() && f.isFile()) { fileExists = true; try { serveFile(f, response); } catch (IOException e) { throw new ServletException(e); } } } if (!fileExists) { response.setStatus(HttpServletResponse.STATUS_NOT_FOUND); response.getWriter().print("File does not exist."); } }
/** * {@inheritDoc} */ @Override public void service(final HttpServletRequest request, final HttpServletResponse response) throws ServletException { ServerConfig serverConfig = (ServerConfig) getServletContext().getAttribute(ServerConfig.class.getName()); HTMLDocument doc = new HTMLDocument("Drive Access"); doc.setOwnerClass(getClass().getSimpleName()); doc.writeln("<div class=\"page-header\"><h1>Drive Access</h1></div>"); if (!serverConfig.getAttribute(ADMIN_DRIVE_ACCESS_ENABLED).equals(ServerConfigImpl.TRUE)) { renderFunctionDisabled(response, doc); return; } String path = StringUtilities.urlDecode(request.getQueryString()); if ("".equals(path)) { path = "/"; } renderBreadcrubms(doc, path); File file = new File(Environment.getExternalStorageDirectory() + path); if (file.exists() && file.isDirectory()) { renderDirectoryList(doc, path, file); } else { renderPathNotAvailable(doc); } response.getWriter().print(doc.toString()); }