Author: violetagg Date: Thu Jul 4 04:03:09 2013 New Revision: 1499642 URL: http://svn.apache.org/r1499642 Log: javax.servlet.http.HttpServletRequest.upgrade(Class<T>) and javax.servlet.http.HttpServletRequestWrapper.upgrade(Class<T>) must throw ServletException when the instantiation of the provided class fails.
Modified: tomcat/trunk/java/javax/servlet/http/HttpServletRequest.java tomcat/trunk/java/javax/servlet/http/HttpServletRequestWrapper.java tomcat/trunk/java/org/apache/catalina/connector/Request.java tomcat/trunk/java/org/apache/catalina/connector/RequestFacade.java tomcat/trunk/test/org/apache/catalina/filters/TesterHttpServletRequest.java Modified: tomcat/trunk/java/javax/servlet/http/HttpServletRequest.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/HttpServletRequest.java?rev=1499642&r1=1499641&r2=1499642&view=diff ============================================================================== --- tomcat/trunk/java/javax/servlet/http/HttpServletRequest.java (original) +++ tomcat/trunk/java/javax/servlet/http/HttpServletRequest.java Thu Jul 4 04:03:09 2013 @@ -510,8 +510,12 @@ public interface HttpServletRequest exte * Protocol specific headers must have already been set before this method * is called. * + * @throws IOException + * if an I/O error occurred during the upgrade + * @throws ServletException + * if the given httpUpgradeHandlerClass fails to be instantiated * @since Servlet 3.1 */ public <T extends HttpUpgradeHandler> T upgrade( - Class<T> httpUpgradeHandlerClass) throws java.io.IOException; + Class<T> httpUpgradeHandlerClass) throws java.io.IOException, ServletException; } Modified: tomcat/trunk/java/javax/servlet/http/HttpServletRequestWrapper.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/HttpServletRequestWrapper.java?rev=1499642&r1=1499641&r2=1499642&view=diff ============================================================================== --- tomcat/trunk/java/javax/servlet/http/HttpServletRequestWrapper.java (original) +++ tomcat/trunk/java/javax/servlet/http/HttpServletRequestWrapper.java Thu Jul 4 04:03:09 2013 @@ -370,7 +370,7 @@ public class HttpServletRequestWrapper e */ @Override public <T extends HttpUpgradeHandler> T upgrade( - Class<T> httpUpgradeHandlerClass) throws IOException { + Class<T> httpUpgradeHandlerClass) throws IOException, ServletException { return this._getHttpServletRequest().upgrade(httpUpgradeHandlerClass); } } Modified: tomcat/trunk/java/org/apache/catalina/connector/Request.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Request.java?rev=1499642&r1=1499641&r2=1499642&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/connector/Request.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/Request.java Thu Jul 4 04:03:09 2013 @@ -1878,13 +1878,13 @@ public class Request */ @Override public <T extends HttpUpgradeHandler> T upgrade( - Class<T> httpUpgradeHandlerClass) throws java.io.IOException { + Class<T> httpUpgradeHandlerClass) throws java.io.IOException, ServletException { T handler; try { handler = (T) context.getInstanceManager().newInstance(httpUpgradeHandlerClass); } catch (InstantiationException | IllegalAccessException | InvocationTargetException | NamingException e) { - throw new IOException(e); + throw new ServletException(e); } coyoteRequest.action(ActionCode.UPGRADE, handler); Modified: tomcat/trunk/java/org/apache/catalina/connector/RequestFacade.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/RequestFacade.java?rev=1499642&r1=1499641&r2=1499642&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/connector/RequestFacade.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/RequestFacade.java Thu Jul 4 04:03:09 2013 @@ -1113,7 +1113,7 @@ public class RequestFacade implements Ht */ @Override public <T extends HttpUpgradeHandler> T upgrade( - Class<T> httpUpgradeHandlerClass) throws java.io.IOException { + Class<T> httpUpgradeHandlerClass) throws java.io.IOException, ServletException { return request.upgrade(httpUpgradeHandlerClass); } } Modified: tomcat/trunk/test/org/apache/catalina/filters/TesterHttpServletRequest.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/filters/TesterHttpServletRequest.java?rev=1499642&r1=1499641&r2=1499642&view=diff ============================================================================== --- tomcat/trunk/test/org/apache/catalina/filters/TesterHttpServletRequest.java (original) +++ tomcat/trunk/test/org/apache/catalina/filters/TesterHttpServletRequest.java Thu Jul 4 04:03:09 2013 @@ -461,7 +461,7 @@ public class TesterHttpServletRequest im @Override public <T extends HttpUpgradeHandler> T upgrade( - Class<T> httpUpgradeHandlerClass) throws IOException { + Class<T> httpUpgradeHandlerClass) throws IOException, ServletException { throw new RuntimeException("Not implemented"); } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org