@Override @SuppressWarnings("resource") public void handleReturnValue(@Nullable Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception { mavContainer.setRequestHandled(true); Assert.state(returnValue instanceof HttpHeaders, "HttpHeaders expected"); HttpHeaders headers = (HttpHeaders) returnValue; if (!headers.isEmpty()) { HttpServletResponse servletResponse = webRequest.getNativeResponse(HttpServletResponse.class); Assert.state(servletResponse != null, "No HttpServletResponse"); ServletServerHttpResponse outputMessage = new ServletServerHttpResponse(servletResponse); outputMessage.getHeaders().putAll(headers); outputMessage.getBody(); // flush headers } }
@Override @SuppressWarnings("resource") public void handleReturnValue(@Nullable Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception { mavContainer.setRequestHandled(true); Assert.state(returnValue instanceof HttpHeaders, "HttpHeaders expected"); HttpHeaders headers = (HttpHeaders) returnValue; if (!headers.isEmpty()) { HttpServletResponse servletResponse = webRequest.getNativeResponse(HttpServletResponse.class); Assert.state(servletResponse != null, "No HttpServletResponse"); ServletServerHttpResponse outputMessage = new ServletServerHttpResponse(servletResponse); outputMessage.getHeaders().putAll(headers); outputMessage.getBody(); // flush headers } }
@Test public void getBody() throws Exception { byte[] content = "Hello World".getBytes("UTF-8"); FileCopyUtils.copy(content, response.getBody()); assertArrayEquals("Invalid content written", content, mockResponse.getContentAsByteArray()); }
@Override public void handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception { mavContainer.setRequestHandled(true); HttpServletResponse httpServletResponse = webRequest.getNativeResponse(HttpServletResponse.class); httpServletResponse.setContentType(CONTENT_TYPE); ServletServerHttpResponse outputMessage = new ServletServerHttpResponse(httpServletResponse); JsonResponse jsonResponse = new JsonResponse(returnValue); outputMessage.getBody().write(StringUtils.toBytes(JsonUtils.toJson(jsonResponse))); outputMessage.getBody().flush(); }
private static void fallbackForContentProvider(ServletServerHttpRequest req, String requestPath, ServletServerHttpResponse res) throws IOException, StaticContentNotFoundException { LOG.debug("Static resource not found in static content provider. Fallback to webapp content..."); URL contentResource = req.getServletRequest().getServletContext().getResource(requestPath); if (contentResource == null) { contentResource = req.getServletRequest().getServletContext().getClassLoader().getResource(requestPath); } if (contentResource != null) { String mimeType = MimeUtils.getMimeType(contentResource); res.getHeaders().setContentType(MediaType.parseMediaType(mimeType)); if (isToBeRefreshed(res, req.getHeaders().getIfModifiedSince(), ManagementFactory.getRuntimeMXBean().getStartTime(), false)) { try (final InputStream in = contentResource.openStream(); final OutputStream out = res.getBody()) { IOUtils.copy(in, out); } } } }
@Override public void handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception { mavContainer.setRequestHandled(true); HttpServletResponse httpServletResponse = webRequest.getNativeResponse(HttpServletResponse.class); httpServletResponse.setContentType(CONTENT_TYPE); ServletServerHttpResponse outputMessage = new ServletServerHttpResponse(httpServletResponse); Locale locale = (Locale)webRequest.getAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME, RequestAttributes.SCOPE_SESSION); String message; try { message = messageSource.getMessage(DEFAULT_SUCCESS_CODE, new Object[0], locale); } catch (NoSuchMessageException e) { message = DefaultMessagesProperties.getMessage(DEFAULT_SUCCESS_CODE); } JsonResponse jsonResponse = new JsonResponse(DEFAULT_SUCCESS_CODE, message, returnValue); outputMessage.getBody().write(StringUtils.toBytes(JsonUtils.toJson(jsonResponse))); outputMessage.getBody().flush(); }
@Override public void handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception { // @WxAsyncMessage声明的Handler恒为null,这里提供支持 if (returnValue != null) { handlReturnValueInternal(returnValue); } mavContainer.setRequestHandled(true); HttpServletResponse servletResponse = webRequest.getNativeResponse(HttpServletResponse.class); ServletServerHttpResponse outputMessage = new ServletServerHttpResponse(servletResponse); outputMessage.getBody(); }
@Override @SuppressWarnings("resource") public void handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception { mavContainer.setRequestHandled(true); HttpServletResponse servletResponse = webRequest.getNativeResponse(HttpServletResponse.class); ServletServerHttpResponse outputMessage = new ServletServerHttpResponse(servletResponse); outputMessage.getHeaders().set("Access-Control-Allow-Origin", getAllowOrigin()); outputMessage.getHeaders().set("Access-Control-Allow-Methods", getAllowMethods()); outputMessage.getHeaders().set("Access-Control-Allow-Headers", getAllowHeaders()); outputMessage.getHeaders().set("Access-Control-Max-Age", getMaxAge()); outputMessage.getBody(); // flush headers }
@Override public void handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception { HttpServletResponse servletResponse = webRequest.getNativeResponse(HttpServletResponse.class); ServletServerHttpResponse outputMessage = new ServletServerHttpResponse(servletResponse); if (WxMessageUtils.supportsXmlResponse(returnType.getParameterType()) && returnValue != null) { wxXmlMessageConverter.write(returnValue, MediaType.TEXT_XML, outputMessage); } else { wxAsyncMessageTemplate.send(WxWebUtils.getWxMessageParameter(), returnValue); } mavContainer.setRequestHandled(true); outputMessage.getBody(); }
@Override @SuppressWarnings("resource") public void handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception { mavContainer.setRequestHandled(true); Assert.state(returnValue instanceof HttpHeaders, "HttpHeaders expected"); HttpHeaders headers = (HttpHeaders) returnValue; if (!headers.isEmpty()) { HttpServletResponse servletResponse = webRequest.getNativeResponse(HttpServletResponse.class); ServletServerHttpResponse outputMessage = new ServletServerHttpResponse(servletResponse); outputMessage.getHeaders().putAll(headers); outputMessage.getBody(); // flush headers } }
final OutputStream outputStream = response.getBody(); try { final long sendBytes = IOUtils.copyLarge(inputStream, outputStream);
@Override public void handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception { if (returnType.hasMethodAnnotation(WxAsyncMessage.class)) { wxAsyncMessageTemplate.send(WxWebUtils.getWxMessageParameter(), returnValue); } else { wxMessageTemplate.sendMessage(WxWebUtils.getWxMessageParameter(), returnValue); } HttpServletResponse servletResponse = webRequest.getNativeResponse(HttpServletResponse.class); ServletServerHttpResponse outputMessage = new ServletServerHttpResponse(servletResponse); mavContainer.setRequestHandled(true); outputMessage.getBody(); }
try (final InputStream in = staticContentItem.getContent(); final OutputStream out = res.getBody()) { IOUtils.copy(in, out);