mschachter    01/05/18 10:11:40

  Modified:    src/share/org/apache/struts/action ActionServlet.java
  Log:
   - Make sure that a wrapped request object is converted back to the original
     before any forwarding or including processing is done on it
   Submitted By: Hal Deadman
  
  Revision  Changes    Path
  1.69      +16 -4     
jakarta-struts/src/share/org/apache/struts/action/ActionServlet.java
  
  Index: ActionServlet.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-struts/src/share/org/apache/struts/action/ActionServlet.java,v
  retrieving revision 1.68
  retrieving revision 1.69
  diff -u -r1.68 -r1.69
  --- ActionServlet.java        2001/05/11 22:33:32     1.68
  +++ ActionServlet.java        2001/05/18 17:11:37     1.69
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-struts/src/share/org/apache/struts/action/ActionServlet.java,v 1.68 
2001/05/11 22:33:32 mschachter Exp $
  - * $Revision: 1.68 $
  - * $Date: 2001/05/11 22:33:32 $
  + * $Header: 
/home/cvs/jakarta-struts/src/share/org/apache/struts/action/ActionServlet.java,v 1.69 
2001/05/18 17:11:37 mschachter Exp $
  + * $Revision: 1.69 $
  + * $Date: 2001/05/18 17:11:37 $
    *
    * ====================================================================
    *
  @@ -229,7 +229,7 @@
    * </ul>
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.68 $ $Date: 2001/05/11 22:33:32 $
  + * @version $Revision: 1.69 $ $Date: 2001/05/18 17:11:37 $
    */
   
   public class ActionServlet
  @@ -1818,6 +1818,10 @@
           if (forward == null)
               return (true);
   
  +        //unwrap the multipart request if there is one
  +        if (request instanceof MultipartRequestWrapper) {
  +            request = ((MultipartRequestWrapper) request).getRequest();
  +        }
           // Construct a request dispatcher for the specified path
           RequestDispatcher rd =
               getServletContext().getRequestDispatcher(forward);
  @@ -1859,6 +1863,10 @@
           if (include == null)
               return (true);
   
  +        //unwrap the multipart request if there is one
  +        if (request instanceof MultipartRequestWrapper) {
  +            request = ((MultipartRequestWrapper) request).getRequest();
  +        }
           // Construct a request dispatcher for the specified path
           RequestDispatcher rd =
               getServletContext().getRequestDispatcher(include);
  @@ -2116,6 +2124,10 @@
        if (debug >= 1)
            log("  Validation error(s), redirecting to: " + uri);
        request.setAttribute(Action.ERROR_KEY, errors);
  +        //unwrap the multipart request if there is one
  +        if (request instanceof MultipartRequestWrapper) {
  +            request = ((MultipartRequestWrapper) request).getRequest();
  +        }
        RequestDispatcher rd = getServletContext().getRequestDispatcher(uri);
           if (rd == null) {
               response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
  
  
  

Reply via email to