private static ResponseFacade getResponseFacade(HttpServletResponse response) { if (response instanceof ResponseFacade) { return (ResponseFacade) response; } else if (response instanceof HttpServletResponseWrapper) { HttpServletResponseWrapper wrapper = (HttpServletResponseWrapper) response; HttpServletResponse wrappedResponse = (HttpServletResponse) wrapper.getResponse(); return getResponseFacade(wrappedResponse); } else { throw new IllegalArgumentException("Cannot convert [" + response.getClass() + "] to org.apache.catalina.connector.ResponseFacade"); } }
private static ResponseFacade getResponseFacade(HttpServletResponse response) { if (response instanceof ResponseFacade) { return (ResponseFacade) response; } else if (response instanceof HttpServletResponseWrapper) { HttpServletResponseWrapper wrapper = (HttpServletResponseWrapper) response; HttpServletResponse wrappedResponse = (HttpServletResponse) wrapper.getResponse(); return getResponseFacade(wrappedResponse); } else { throw new IllegalArgumentException("Cannot convert [" + response.getClass() + "] to org.apache.catalina.connector.ResponseFacade"); } }
private static HttpHeaders createTomcatHttpHeaders(HttpServletResponse response) { ResponseFacade responseFacade = getResponseFacade(response); org.apache.catalina.connector.Response connectorResponse = (org.apache.catalina.connector.Response) ReflectionUtils.getField(COYOTE_RESPONSE_FIELD, responseFacade); Assert.state(connectorResponse != null, "No Tomcat connector response"); Response tomcatResponse = connectorResponse.getCoyoteResponse(); TomcatHeadersAdapter headers = new TomcatHeadersAdapter(tomcatResponse.getMimeHeaders()); return new HttpHeaders(headers); }
private static HttpHeaders createTomcatHttpHeaders(HttpServletResponse response) { ResponseFacade responseFacade = getResponseFacade(response); org.apache.catalina.connector.Response connectorResponse = (org.apache.catalina.connector.Response) ReflectionUtils.getField(COYOTE_RESPONSE_FIELD, responseFacade); Assert.state(connectorResponse != null, "No Tomcat connector response"); Response tomcatResponse = connectorResponse.getCoyoteResponse(); TomcatHeadersAdapter headers = new TomcatHeadersAdapter(tomcatResponse.getMimeHeaders()); return new HttpHeaders(headers); }