Author: markt Date: Thu Sep 21 21:07:12 2017 New Revision: 1809228 URL: http://svn.apache.org/viewvc?rev=1809228&view=rev Log: Add getTrailerFields() method to HttpServletResponse to align Tomcat's Servlet API implementation with the 4.0 release
Modified: tomcat/trunk/java/javax/servlet/http/HttpServletResponse.java tomcat/trunk/java/javax/servlet/http/HttpServletResponseWrapper.java tomcat/trunk/java/org/apache/catalina/connector/Response.java tomcat/trunk/java/org/apache/catalina/connector/ResponseFacade.java tomcat/trunk/test/org/apache/catalina/filters/TesterHttpServletResponse.java Modified: tomcat/trunk/java/javax/servlet/http/HttpServletResponse.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/HttpServletResponse.java?rev=1809228&r1=1809227&r2=1809228&view=diff ============================================================================== --- tomcat/trunk/java/javax/servlet/http/HttpServletResponse.java (original) +++ tomcat/trunk/java/javax/servlet/http/HttpServletResponse.java Thu Sep 21 21:07:12 2017 @@ -348,6 +348,8 @@ public interface HttpServletResponse ext * <br> * Trailers that don't meet the requirements of RFC 7230, section 4.1.2 will * be ignored. + * <br> + * The default implementation is a NO-OP. * * @param supplier The supplier for the trailer headers * @@ -361,6 +363,19 @@ public interface HttpServletResponse ext // NO-OP } + /** + * Obtain the supplier of the trailer headers. + * <br> + * The default implementation returns null. + * + * @return The supplier for the trailer headers + * + * @since Servlet 4.0 + */ + public default Supplier<Map<String, String>> getTrailerFields() { + return null; + } + /* * Server status codes; see RFC 2068. */ Modified: tomcat/trunk/java/javax/servlet/http/HttpServletResponseWrapper.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/HttpServletResponseWrapper.java?rev=1809228&r1=1809227&r2=1809228&view=diff ============================================================================== --- tomcat/trunk/java/javax/servlet/http/HttpServletResponseWrapper.java (original) +++ tomcat/trunk/java/javax/servlet/http/HttpServletResponseWrapper.java Thu Sep 21 21:07:12 2017 @@ -282,4 +282,18 @@ public class HttpServletResponseWrapper public void setTrailerFields(Supplier<Map<String, String>> supplier) { this._getHttpServletResponse().setTrailerFields(supplier); } + + /** + * {@inheritDoc} + * <p> + * The default implementation is to call + * {@link HttpServletResponse#getTrailerFields()} + * on the wrapper {@link HttpServletResponse}. + * + * @since Servlet 4.0 + */ + @Override + public Supplier<Map<String, String>> getTrailerFields() { + return this._getHttpServletResponse().getTrailerFields(); + } } Modified: tomcat/trunk/java/org/apache/catalina/connector/Response.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Response.java?rev=1809228&r1=1809227&r2=1809228&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/connector/Response.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/Response.java Thu Sep 21 21:07:12 2017 @@ -1159,6 +1159,12 @@ public class Response implements HttpSer } + @Override + public Supplier<Map<String, String>> getTrailerFields() { + return getCoyoteResponse().getTrailerFields(); + } + + /** * Encode the session identifier associated with this response * into the specified redirect URL, if necessary. Modified: tomcat/trunk/java/org/apache/catalina/connector/ResponseFacade.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/ResponseFacade.java?rev=1809228&r1=1809227&r2=1809228&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/connector/ResponseFacade.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/ResponseFacade.java Thu Sep 21 21:07:12 2017 @@ -648,4 +648,10 @@ public class ResponseFacade implements H public void setTrailerFields(Supplier<Map<String, String>> supplier) { response.setTrailerFields(supplier); } + + + @Override + public Supplier<Map<String, String>> getTrailerFields() { + return response.getTrailerFields(); + } } Modified: tomcat/trunk/test/org/apache/catalina/filters/TesterHttpServletResponse.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/filters/TesterHttpServletResponse.java?rev=1809228&r1=1809227&r2=1809228&view=diff ============================================================================== --- tomcat/trunk/test/org/apache/catalina/filters/TesterHttpServletResponse.java (original) +++ tomcat/trunk/test/org/apache/catalina/filters/TesterHttpServletResponse.java Thu Sep 21 21:07:12 2017 @@ -251,4 +251,6 @@ public class TesterHttpServletResponse i public void setContentLengthLong(long length) {/* NOOP */} @Override public void setTrailerFields(Supplier<Map<String, String>> supplier) { /* NOOP */ } + @Override + public Supplier<Map<String, String>> getTrailerFields() { return null; } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org