@Nullable private String failAndGetNextUrl(Object context, HttpServletResponse response) throws IOException { serverSelector.fail(context); String url = serverSelector.getUrl(context); if (url != null) log.debug("Trying next URL"); else error(response); return url; }
@RequestMapping(value = "/api/download", method = RequestMethod.GET) public ModelAndView download(HttpServletRequest request, HttpServletResponse response) throws IOException { UserSession userSession = getSession(request, response); if (userSession == null) { error(response); return null; } catch (Exception e) { log.error(e.toString()); error(response); return null; if (fd == null) { log.warn("Unable to find file with id " + fileId); error(response); return null; response.setHeader("Pragma", "no-cache"); response.setDateHeader("Expires", 0); response.setHeader("Content-Type", getContentType(fd)); response.setHeader("Pragma", "no-cache"); + "; filename=" + fileName); writeResponse(response, userSession, fd);
if (selectedUrl == null) { log.debug("Unable to download file: no available server URLs"); error(response); } else { log.debug("Unable to download file from " + url + "\nHttpEntity is null"); selectedUrl = failAndGetNextUrl(context, response); selectedUrl = failAndGetNextUrl(context, response); selectedUrl = failAndGetNextUrl(context, response); } finally { IOUtils.closeQuietly(is);