@Path("/") @POST @Consumes({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON }) public User addUser(User user, @Context final HttpServletResponse response){ User newUser = ... //set HTTP code to "201 Created" response.setStatus(HttpServletResponse.SC_CREATED); try { response.flushBuffer(); }catch(Exception e){} return newUser; }
@RequestMapping(value = "/files/{file_name}", method = RequestMethod.GET) public void getFile( @PathVariable("file_name") String fileName, HttpServletResponse response) { try { // get your file as InputStream InputStream is = ...; // copy it to response's OutputStream org.apache.commons.io.IOUtils.copy(is, response.getOutputStream()); response.flushBuffer(); } catch (IOException ex) { log.info("Error writing file to output stream. Filename was '{}'", fileName, ex); throw new RuntimeException("IOError writing file to output stream"); } }
private void handleBadRequest(HttpServletResponse response, String errorMessage) throws IOException { if (!response.isCommitted()) { response.resetBuffer(); response.setStatus(HttpServletResponse.SC_BAD_REQUEST); jsonMapper.writeValue(response.getOutputStream(), ImmutableMap.of("error", errorMessage)); } response.flushBuffer(); } }
response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(filename, "UTF-8")); IOUtils.copy(in, response.getOutputStream()); response.flushBuffer();
private void doGraph(HttpServletRequest httpRequest, HttpServletResponse httpResponse, Range range, String graphName) throws IOException { final int width = Math .min(Integer.parseInt(HttpParameter.WIDTH.getParameterFrom(httpRequest)), 1600); final int height = Math .min(Integer.parseInt(HttpParameter.HEIGHT.getParameterFrom(httpRequest)), 1600); final String max = HttpParameter.MAX.getParameterFrom(httpRequest); final boolean maxHidden = max != null && !Boolean.parseBoolean(max); final JRobin jrobin = collector.getJRobin(graphName); if (jrobin != null) { final byte[] img = jrobin.graph(range, width, height, maxHidden); // png comme indiqué dans la classe jrobin httpResponse.setContentType("image/png"); httpResponse.setContentLength(img.length); final String fileName = graphName + ".png"; // encoding des CRLF pour http://en.wikipedia.org/wiki/HTTP_response_splitting httpResponse.addHeader("Content-Disposition", "inline;filename=" + fileName.replace('\n', '_').replace('\r', '_')); httpResponse.getOutputStream().write(img); httpResponse.flushBuffer(); } }
public void handle(String pathInContext, Request request, HttpServletRequest httpRequest, HttpServletResponse httpResponse) throws IOException, ServletException { int load = 100; httpResponse.setStatus(200); httpResponse.setContentLength(load); httpResponse.setContentType("application/octet-stream"); httpResponse.flushBuffer(); OutputStream os = httpResponse.getOutputStream(); for (int i = 0; i < load; i++) { os.write(i % 255); try { Thread.sleep(300); } catch (InterruptedException ex) { // nuku } if (i > load / 10) { httpResponse.sendError(500); } } httpResponse.getOutputStream().flush(); httpResponse.getOutputStream().close(); } }
/** * Return a single byte to the client. * * @param message * Message * @param resp * Servlet response * @throws IOException * I/O exception */ protected void returnMessage(byte message, HttpServletResponse resp) throws IOException { log.debug("returnMessage {}", message); resp.setStatus(HttpServletResponse.SC_OK); resp.setHeader("Connection", "Keep-Alive"); resp.setHeader("Cache-Control", "no-cache"); resp.setContentType(CONTENT_TYPE); resp.setContentLength(1); resp.getWriter().write(message); resp.flushBuffer(); }
/** * wrapper should set all headers except "content-length" */ @Test public void testHeader() throws IOException { wrapper.setStatus(200); verify(response).setStatus(200); wrapper.addHeader("header", "header value"); verify(response).addHeader("header", "header value"); wrapper.addHeader("content-length", "header value2"); verify(response, never()).addHeader("content-length", "header value"); wrapper.setIntHeader("header", 5); verify(response).setIntHeader("header", 5); wrapper.setIntHeader("content-length", 4); verify(response, never()).setIntHeader("content-length", 4); wrapper.setHeader("set-header", "new value"); verify(response).setHeader("set-header", "new value"); wrapper.setHeader("content-length", "content length value"); verify(response, never()).setHeader("content-length", "content length value"); wrapper.sendRedirect("location"); verify(response).sendRedirect("location"); wrapper.flushBuffer(); verify(response).flushBuffer(); }
/** * Redirect to HTTP port. */ @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String host = System.getProperty("http.host"); String port = System.getProperty("http.port"); if ("0.0.0.0".equals(host)) { host = "127.0.0.1"; } resp.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY); resp.addHeader("Location", "http://" + host + ":" + port); resp.setContentType("text/plain"); String message = "Relocated to http://" + host + ":" + port; resp.setContentLength(message.length()); resp.getWriter().write(message); resp.flushBuffer(); }
protected void process(HttpServletRequest request, HttpServletResponse response) throws IOException { String resource = request.getPathInfo().replace(request.getServletPath(), ""); if (resource.startsWith("/")) resource = resource.replaceFirst("/", ""); InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream(resource); if (in == null) { throw new Error("Cannot find resource " + resource); } try { ByteStreams.copy(in, response.getOutputStream()); } finally { in.close(); Calendar c = Calendar.getInstance(); c.setTime(new Date()); c.add(Calendar.DATE, 10); response.setDateHeader("Expires", c.getTime().getTime()); response.setHeader("Cache-Control", "max-age=864000"); response.flushBuffer(); } } }
private void error(HttpServletResponse resp, String message) { try { resp.setContentType("application/json"); Map<String, Object> result = new HashMap<>(); result.put("status", -1); result.put("error", message); MAPPER.writeValue(resp.getWriter(), result); resp.flushBuffer(); } catch (Exception e) { logger.error("return message error"); } }
response.setStatus(statusCode); response.setHeader(headerName, headerValue); session.exportTo(flowFile, response.getOutputStream()); response.flushBuffer(); } catch (final ProcessException e) { session.transfer(flowFile, REL_FAILURE);
public static void write(HttpServletResponse resp, Writer writer, Object obj, JsonFormat format) throws IOException { resp.setHeader("Cache-Control", "no-cache"); if (resp.getContentType() == null) resp.setContentType("text/plain"); // by mawm 改为直接采用resp.getWriter()的方式直接输出! Json.toJson(writer, obj, format); resp.flushBuffer(); }
response.setContentType("application/octet-stream"); response.setHeader("Cache-Control", "no-cache"); response.getOutputStream(), "UTF-8")); response.flushBuffer(); response.flushBuffer(); response.flushBuffer();
@Override public Object answer(InvocationOnMock invocation) throws Throwable { HttpServletResponse response = (HttpServletResponse) invocation.getArguments()[1]; response.getOutputStream().write(bytes); response.flushBuffer(); response.setContentType("text/html"); return null; } }).when(filterChain).doFilter(any(ServletRequest.class), any(ServletResponse.class));
public void handle(String pathInContext, Request request, HttpServletRequest httpRequest, HttpServletResponse httpResponse) throws IOException, ServletException { httpResponse.setStatus(200); httpResponse.setContentLength(CONTENT_LENGTH_VALUE); httpResponse.setContentType(APPLICATION_OCTET_STREAM.toString()); httpResponse.flushBuffer(); final boolean wantSlow = httpRequest.getHeader("X-SLOW") != null; OutputStream os = httpResponse.getOutputStream(); for (int i = 0; i < CONTENT_LENGTH_VALUE; i++) { os.write(i % 255); } else if (wantConnectionClose) { httpResponse.getOutputStream().close(); httpResponse.getOutputStream().flush(); httpResponse.getOutputStream().close();
/** * Return a message to the client. * * @param message * Message * @param resp * Servlet response * @throws IOException * I/O exception */ protected void returnMessage(String message, HttpServletResponse resp) throws IOException { log.debug("returnMessage {}", message); resp.setStatus(HttpServletResponse.SC_OK); resp.setHeader("Connection", "Keep-Alive"); resp.setHeader("Cache-Control", "no-cache"); resp.setContentType(CONTENT_TYPE); resp.setContentLength(message.length()); resp.getWriter().write(message); resp.flushBuffer(); }
resp.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); resp.setHeader("Connection", "Keep-Alive"); resp.setHeader("Cache-Control", "no-cache"); resp.flushBuffer();
request.getMethod().equalsIgnoreCase("OPTIONS")) { response.sendError(HttpServletResponse.SC_FORBIDDEN); response.flushBuffer(); ((Request) request).setHandled(true); return; response.setContentType("text/html;charset=utf-8"); response.setStatus(HttpServletResponse.SC_OK); response.getWriter().write("For Flume metrics please click" + " <a href = \"./metrics\"> here</a>."); response.flushBuffer(); ((Request) request).setHandled(true); return; } else if (target.equalsIgnoreCase("/metrics")) { response.setContentType("application/json;charset=utf-8"); response.setStatus(HttpServletResponse.SC_OK); Map<String, Map<String, String>> metricsMap = JMXPollUtil.getAllMBeans(); String json = gson.toJson(metricsMap, mapType); response.getWriter().write(json); response.flushBuffer(); ((Request) request).setHandled(true); return; response.flushBuffer();
/** * 导出model的png文件 */ @RequestMapping(value = "/model/export/image/{modelId}", method = RequestMethod.GET) public void exportPng(@PathVariable("modelId") String modelId, HttpServletResponse response) { try { Model modelData = repositoryService.getModel(modelId); byte[] pngBytes = repositoryService.getModelEditorSourceExtra(modelData.getId()); ByteArrayInputStream in = new ByteArrayInputStream(pngBytes); IOUtils.copy(in, response.getOutputStream()); String filename = modelData.getKey() + ".process.model.png"; response.setHeader("Content-Disposition", "attachment; filename=" + filename); response.flushBuffer(); } catch (Exception e) { LOGGER.error("导出model的png文件失败:modelId={}", modelId, e); } }