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); }
/** * @return the content length that was set or calculated for this Response. */ public int getContentLength() { return getCoyoteResponse().getContentLength(); }
/** * @return the Locale assigned to this response. */ @Override public Locale getLocale() { return getCoyoteResponse().getLocale(); }
/** * @return the error message that was set with <code>sendError()</code> * for this Response. */ public String getMessage() { return getCoyoteResponse().getMessage(); }
/** * Set the error flag. * * @return <code>false</code> if the error flag was already set */ public boolean setError() { return getCoyoteResponse().setError(); }
/** * Error flag accessor. * * @return <code>true</code> if the response has encountered an error */ public boolean isError() { return getCoyoteResponse().isError(); }
/** * Has the output of this response already been committed? * * @return <code>true</code> if the response has been committed */ @Override public boolean isCommitted() { return getCoyoteResponse().isCommitted(); }
/** * @return the Locale assigned to this response. */ @Override public Locale getLocale() { return getCoyoteResponse().getLocale(); }
@Override public int getStatus() { return getCoyoteResponse().getStatus(); }
/** * @return the content type that was set or calculated for this response, * or <code>null</code> if no content type was set. */ @Override public String getContentType() { return getCoyoteResponse().getContentType(); }
/** * @return the error message that was set with <code>sendError()</code> * for this Response. */ public String getMessage() { return getCoyoteResponse().getMessage(); }
@Override public Collection<String> getHeaders(String name) { Enumeration<String> enumeration = getCoyoteResponse().getMimeHeaders().values(name); Vector<String> result = new Vector<>(); while (enumeration.hasMoreElements()) { result.addElement(enumeration.nextElement()); } return result; }
@Override public void setContentLengthLong(long length) { if (isCommitted()) { return; } // Ignore any call from an included servlet if (included) { return; } getCoyoteResponse().setContentLength(length); }
private static HttpHeaders createTomcatHttpHeaders(HttpServletResponse response) { org.apache.catalina.connector.Response connectorResponse = (org.apache.catalina.connector.Response) ReflectionUtils.getField(COYOTE_RESPONSE_FIELD, response); Assert.state(connectorResponse != null, "No Tomcat connector response"); Response tomcatResponse = connectorResponse.getCoyoteResponse(); TomcatHeadersAdapter headers = new TomcatHeadersAdapter(tomcatResponse.getMimeHeaders()); return new HttpHeaders(headers); }
@Override public String getHeader(String name) { return getCoyoteResponse().getMimeHeaders().getHeader(name); }
@Override public Collection<String> getHeaderNames() { MimeHeaders headers = getCoyoteResponse().getMimeHeaders(); int n = headers.size(); List<String> result = new ArrayList<>(n); for (int i = 0; i < n; i++) { result.add(headers.getName(i).toString()); } return result; }
@Override public Collection<String> getHeaderNames() { MimeHeaders headers = getCoyoteResponse().getMimeHeaders(); int n = headers.size(); List<String> result = new ArrayList<>(n); for (int i = 0; i < n; i++) { result.add(headers.getName(i).toString()); } return result; }
@Override public void addElement(CharArrayWriter buf, Date date, Request request, Response response, long time) { long commitTime = response.getCoyoteResponse().getCommitTime(); if (commitTime == -1) { buf.append('-'); } else { long delta = commitTime - request.getCoyoteRequest().getStartTime(); buf.append(Long.toString(delta)); } } }
void fillInResponseDetails(OperationMap op, Response response) { op.put("statusCode", response.getStatus()) .put("reasonPhrase", parseReasonPhrase(response)) .put("contentSize", (Long) ReflectionUtils.invokeMethod(responseSizeMethod, response)); fillInHeaders(op.createList("headers"), response.getCoyoteResponse().getMimeHeaders()); }