remm        2002/06/13 20:19:43

  Modified:    catalina/src/share/org/apache/catalina/servlets
                        DefaultServlet.java
  Log:
  - Add try/catch for IAE.
  - Patch submitted by James Carman <james at carmanconsulting.com>
  
  Revision  Changes    Path
  1.57      +32 -27    
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/DefaultServlet.java
  
  Index: DefaultServlet.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/DefaultServlet.java,v
  retrieving revision 1.56
  retrieving revision 1.57
  diff -u -r1.56 -r1.57
  --- DefaultServlet.java       13 Jun 2002 22:34:42 -0000      1.56
  +++ DefaultServlet.java       14 Jun 2002 03:19:43 -0000      1.57
  @@ -1607,20 +1607,23 @@
                                            HttpServletResponse response,
                                            ResourceInfo resourceInfo)
           throws IOException {
  -
  -        long headerValue = request.getDateHeader("If-Modified-Since");
  -        long lastModified = resourceInfo.date;
  -        if (headerValue != -1) {
  -
  -            // If an If-None-Match header has been specified, if modified since
  -            // is ignored.
  -            if ((request.getHeader("If-None-Match") == null) 
  -                && (lastModified <= headerValue + 1000)) {
  -                // The entity has not been modified since the date
  -                // specified by the client. This is not an error case.
  -                response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
  -                return false;
  +        try {
  +            long headerValue = request.getDateHeader("If-Modified-Since");
  +            long lastModified = resourceInfo.date;
  +            if (headerValue != -1) {
  +    
  +                // If an If-None-Match header has been specified, if modified since
  +                // is ignored.
  +                if ((request.getHeader("If-None-Match") == null) 
  +                    && (lastModified <= headerValue + 1000)) {
  +                    // The entity has not been modified since the date
  +                    // specified by the client. This is not an error case.
  +                    response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
  +                    return false;
  +                }
               }
  +        } catch(IllegalArgumentException illegalArgument) {
  +            return false;
           }
           return true;
   
  @@ -1699,17 +1702,19 @@
                                              HttpServletResponse response,
                                              ResourceInfo resourceInfo)
           throws IOException {
  -
  -        long lastModified = resourceInfo.date;
  -        long headerValue = request.getDateHeader("If-Unmodified-Since");
  -        if (headerValue != -1) {
  -            if ( lastModified > headerValue ) {
  -                // The entity has not been modified since the date
  -                // specified by the client. This is not an error case.
  -                response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED);
  -                return false;
  +        try {
  +            long lastModified = resourceInfo.date;
  +            long headerValue = request.getDateHeader("If-Unmodified-Since");
  +            if (headerValue != -1) {
  +                if ( lastModified > headerValue ) {
  +                    // The entity has not been modified since the date
  +                    // specified by the client. This is not an error case.
  +                    response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED);
  +                    return false;
  +                }
               }
  -
  +        } catch(IllegalArgumentException illegalArgument) {
  +            return false;
           }
           return true;
   
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to