markt 2004/02/25 14:36:36 Modified: catalina/src/share/org/apache/catalina/servlets WebdavServlet.java Log: Fix bug 27190. Ensure webdav servlet returns correct status in response to MOVE request. Revision Changes Path 1.12 +13 -12 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/servlets/WebdavServlet.java Index: WebdavServlet.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/servlets/WebdavServlet.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- WebdavServlet.java 22 Feb 2004 22:34:16 -0000 1.11 +++ WebdavServlet.java 25 Feb 2004 22:36:35 -0000 1.12 @@ -819,7 +819,7 @@ String path = getRelativePath(req); if (copyResource(req, resp)) { - deleteResource(path, req, resp); + deleteResource(path, req, resp, false); } } @@ -1618,10 +1618,8 @@ // Delete destination resource, if it exists if (exists) { - if (!deleteResource(destinationPath, req, resp)) { + if (!deleteResource(destinationPath, req, resp, true)) { return false; - } else { - resp.setStatus(WebdavStatus.SC_NO_CONTENT); } } else { resp.setStatus(WebdavStatus.SC_CREATED); @@ -1749,7 +1747,7 @@ String path = getRelativePath(req); - return deleteResource(path, req, resp); + return deleteResource(path, req, resp, true); } @@ -1760,9 +1758,11 @@ * @param path Path of the resource which is to be deleted * @param req Servlet request * @param resp Servlet response + * @param setStatus Should the response status be set on successful + * completion */ private boolean deleteResource(String path, HttpServletRequest req, - HttpServletResponse resp) + HttpServletResponse resp, boolean setStatus) throws ServletException, IOException { if ((path.toUpperCase().startsWith("/WEB-INF")) || @@ -1834,8 +1834,9 @@ } } - - resp.setStatus(WebdavStatus.SC_NO_CONTENT); + if (setStatus) { + resp.setStatus(WebdavStatus.SC_NO_CONTENT); + } return true; }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]