jfarcand 2003/03/26 13:57:59 Modified: catalina/src/share/org/apache/catalina/core StandardWrapperValve.java Log: Fix for bug 18199: Regression in Tomcat 5: UnavailableException thrown in init() return Status 404 not 503 Based on the spec SRV.2.3.3.2 Exceptions During Request Handling: - 404 will be returned if the servlet is permanently unavailable - 503 will be returned if the servlet is unavailable for x time Revision Changes Path 1.14 +13 -1 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapperValve.java Index: StandardWrapperValve.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapperValve.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- StandardWrapperValve.java 20 Mar 2003 18:28:28 -0000 1.13 +++ StandardWrapperValve.java 26 Mar 2003 21:57:59 -0000 1.14 @@ -192,6 +192,18 @@ if (!unavailable) { servlet = wrapper.allocate(); } + } catch (UnavailableException e) { + long available = wrapper.getAvailable(); + if ((available > 0L) && (available < Long.MAX_VALUE)) { + hres.setDateHeader("Retry-After", available); + hres.sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE, + sm.getString("standardWrapper.isUnavailable", + wrapper.getName())); + } else if (available == Long.MAX_VALUE) { + hres.sendError(HttpServletResponse.SC_NOT_FOUND, + sm.getString("standardWrapper.notFound", + wrapper.getName())); + } } catch (ServletException e) { log.error(sm.getString("standardWrapper.allocateException", wrapper.getName()), e);
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]