private void authenticateSuccess(final HttpServletResponse response, final boolean isGuest) { response.setStatus(200); response.setHeader("Pragma", "No-cache"); response.setHeader("Cache-Control", "no-store"); response.setDateHeader("Expires", 0); response.setHeader("identify", isGuest ? GUEST_IDENTIFY : ROOT_IDENTIFY); }
private void setResponseHeaders(final HttpServletResponse response) { response.setContentType(HttpConstants.CONTENT_TYPE_JSON); response.setHeader(HttpConstants.ACCESS_CONTROL_ALLOW_METHODS, HttpConstants.METHOD_GET + "," + HttpConstants.METHOD_DELETE); response.setHeader(HttpConstants.ACCESS_CONTROL_ALLOW_ORIGIN, HttpConstants.WILDCARD); }
/** * Sends correct headers to require basic authentication for the given realm. */ public static void requireAuthentication(final HttpServletResponse resp, final String realm) throws IOException { resp.setHeader(WWW_AUTHENTICATE, "Basic realm=\"" + realm + '\"'); resp.sendError(HttpServletResponse.SC_UNAUTHORIZED); }
public ModelAndView respond(HttpServletResponse response) throws Exception { response.setStatus(status); response.setContentType(contentType); response.setHeader("Content-Disposition", "Inline; filename=" + jobName + "Properties.csv"); response.getWriter().write(message); return null; } }
@RequestMapping(value = "helloReport1", method = RequestMethod.GET) @ResponseBody public void getRpt1(HttpServletResponse response) throws JRException, IOException { InputStream jasperStream = this.getClass().getResourceAsStream("/jasperreports/HelloWorld1.jasper"); Map<String,Object> params = new HashMap<>(); JasperReport jasperReport = (JasperReport) JRLoader.loadObject(jasperStream); JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, new JREmptyDataSource()); response.setContentType("application/x-pdf"); response.setHeader("Content-disposition", "inline; filename=helloWorldReport.pdf"); final OutputStream outStream = response.getOutputStream(); JasperExportManager.exportReportToPdfStream(jasperPrint, outStream); }
String newResult = MD5Util.compareMd5ResultString(changedGroups); String version = request.getHeader(Constants.CLIENT_VERSION_HEADER); if (version == null) { version = "2.0.0"; response.setHeader("Pragma", "no-cache"); response.setDateHeader("Expires", 0); response.setHeader("Cache-Control", "no-cache,no-store"); response.setStatus(HttpServletResponse.SC_OK); return HttpServletResponse.SC_OK + "";
/** * 构建一个文本文件,并下载.支持GET,POST请求 * * @param name 文件名 * @param text 文本内容 * @param response {@link HttpServletResponse} * @throws IOException 写出文本内容错误 */ @RequestMapping(value = "/download-text/{name:.+}", method = {RequestMethod.GET, RequestMethod.POST}) @ApiOperation("构建文本文件并下载") @Authorize(action = "download", description = "下载文件") public void downloadTxt(@ApiParam("文件名") @PathVariable("name") String name, @ApiParam("文本内容") @RequestParam("text") String text, HttpServletResponse response) throws IOException { response.setCharacterEncoding("utf-8"); response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE + "; charset=utf-8"); response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(name, "utf-8")); response.getWriter().write(text); }
@Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { LOG.info("Requesting jdbc standalone jar download"); response.setHeader("Content-disposition", JAR_CONTENT_DISPOSITION); response.setContentType(JAR_CONTENT_TYPE); File dir = new File(JDBC_JAR_DIR); FileFilter fileFilter = new WildcardFileFilter(JDBC_JAR_PATTERN); File[] files = dir.listFiles(fileFilter); if (files == null || files.length != 1) { handleError(files); response.sendError(HttpServletResponse.SC_NOT_FOUND); return; } File file = files[0]; LOG.info("Jdbc standalone jar found: " + file.getAbsolutePath()); try (FileInputStream in = new FileInputStream(file); OutputStream out = response.getOutputStream()) { byte[] buffer = new byte[4096]; int length; while ((length = in.read(buffer)) > 0) { out.write(buffer, 0, length); } } catch (Exception e) { LOG.error("Exception during downloading standalone jdbc jar", e); response.sendError(HttpServletResponse.SC_NOT_FOUND); } LOG.info("Jdbc standalone jar " + file.getAbsolutePath() + " was downloaded"); }
if (resource == null) { logger.debug("Resource not found"); response.sendError(HttpServletResponse.SC_NOT_FOUND); return; response.setHeader("Allow", getAllowHeader()); return; if (request.getHeader(HttpHeaders.RANGE) == null) { Assert.state(this.resourceHttpMessageConverter != null, "Not initialized"); setHeaders(response, resource, mediaType); response.setHeader(HttpHeaders.ACCEPT_RANGES, "bytes"); ServletServerHttpRequest inputMessage = new ServletServerHttpRequest(request); try { List<HttpRange> httpRanges = inputMessage.getHeaders().getRange(); response.setStatus(HttpServletResponse.SC_PARTIAL_CONTENT); this.resourceRegionHttpMessageConverter.write( HttpRange.toResourceRegions(httpRanges, resource), mediaType, outputMessage); response.setHeader("Content-Range", "bytes */" + resource.contentLength()); response.sendError(HttpServletResponse.SC_REQUESTED_RANGE_NOT_SATISFIABLE);
public void setResponse(final HttpServletResponse response, final String mime) { long access_time = this.getAccessTime(); response.setDateHeader("Last-Modified", access_time); response.setDateHeader("Expires", access_time + 2 * DAO.getConfig("DoS.servicereduction", 1000)); response.setContentType(mime); response.setHeader("X-Robots-Tag", "noindex,noarchive,nofollow,nosnippet"); response.setCharacterEncoding("UTF-8"); response.setStatus(HttpServletResponse.SC_OK); } public int hashCode() {
private void responseResult(HttpServletResponse response, Result result) { response.setCharacterEncoding("UTF-8"); response.setHeader("Content-type", "application/json;charset=UTF-8"); response.setStatus(200); try { response.getWriter().write(JSON.toJSONString(result)); } catch (IOException ex) { logger.error(ex.getMessage()); } }
public void render() { if (file == null || !file.isFile()) { RenderManager.me().getRenderFactory().getErrorRender(404).setContext(request, response).render(); return ; } // --------- response.setHeader("Accept-Ranges", "bytes"); String fn = downloadFileName == null ? file.getName() : downloadFileName; response.setHeader("Content-disposition", "attachment; " + encodeFileName(request, fn)); String contentType = servletContext.getMimeType(file.getName()); response.setContentType(contentType != null ? contentType : DEFAULT_CONTENT_TYPE); // --------- if (StrKit.isBlank(request.getHeader("Range"))) { normalRender(); } else { rangeRender(); } }
/** * Trigger a browser redirect with specific http 3XX status code. * * @param location Where to redirect permanently * @param httpStatusCode the http status code */ public void redirect(String location, int httpStatusCode) { if (LOG.isDebugEnabled()) { LOG.debug("Redirecting ({} to {}", httpStatusCode, location); } response.setStatus(httpStatusCode); response.setHeader("Location", location); response.setHeader("Connection", "close"); try { response.sendError(httpStatusCode); } catch (IOException e) { LOG.warn("Exception when trying to redirect permanently", e); } }
@WebServlet("/files/*") public class FileServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String filename = URLDecoder.decode(request.getPathInfo().substring(1), "UTF-8"); File file = new File("/path/to/files", filename); response.setHeader("Content-Type", getServletContext().getMimeType(filename)); response.setHeader("Content-Length", String.valueOf(file.length())); response.setHeader("Content-Disposition", "inline; filename=\"" + file.getName() + "\""); Files.copy(file.toPath(), response.getOutputStream()); } }
response.setContentLength((int) length); response.setContentType(mediaType.toString()); for (String headerValue : headerValues) { if (first) { response.setHeader(headerName, headerValue); response.setHeader(HttpHeaders.ACCEPT_RANGES, "bytes");
/** * Prepares response for various provided data. * * @param response http response * @param fileName file name, if full path then file name will be stripped, if null, will be ignored. * @param mimeType mime type with optional charset, may be <code>null</code> * @param fileSize if less then 0 it will be ignored */ public static void prepareResponse(final HttpServletResponse response, final String fileName, String mimeType, final int fileSize) { if ((mimeType == null) && (fileName != null)) { String extension = FileNameUtil.getExtension(fileName); mimeType = MimeTypes.getMimeType(extension); } if (mimeType != null) { response.setContentType(mimeType); } if (fileSize >= 0) { response.setContentLength(fileSize); } // support internationalization // See https://tools.ietf.org/html/rfc6266#section-5 for more information. if (fileName != null) { String name = FileNameUtil.getName(fileName); String encodedFileName = URLCoder.encode(name); response.setHeader(CONTENT_DISPOSITION, "attachment;filename=\"" + name + "\";filename*=utf8''" + encodedFileName); } }
@Test public void testNoFileFound() throws IOException { HttpServletResponse mockResponse = mock(HttpServletResponse.class); JdbcJarDownloadServlet servlet = new JdbcJarDownloadServlet(); servlet.doGet(null, mockResponse); verify(mockResponse, times(1)).setHeader( "Content-disposition","attachment; filename=hive-jdbc-standalone.jar"); verify(mockResponse, times(1)).setContentType("application/java-archive"); verify(mockResponse, times(1)).sendError(HttpServletResponse.SC_NOT_FOUND); } }
@Test public void asyncStream302RedirectWithBody() throws Throwable { withClient(config().setFollowRedirect(true)).run(client -> withServer(server).run(server -> { String originalUrl = server.getHttpUrl() + "/original"; String redirectUrl = server.getHttpUrl() + "/redirect"; server.enqueueResponse(response -> { response.setStatus(302); response.setHeader(LOCATION.toString(), redirectUrl); response.getOutputStream().println("You are being asked to redirect to " + redirectUrl); }); server.enqueueOk(); Response response = client.prepareGet(originalUrl).execute().get(20, TimeUnit.SECONDS); assertEquals(response.getStatusCode(), 200); assertTrue(response.getResponseBody().isEmpty()); })); }
@Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/json;charset=utf-8"); response.setStatus(HttpServletResponse.SC_OK); response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); String result = mObjectMapper.writeValueAsString(mMetricsRegistry); response.getWriter().println(result); } };