remm 01/01/18 17:11:30 Modified: catalina/src/share/org/apache/catalina/servlets DefaultServlet.java WebdavServlet.java Log: - Fix to links encoding part 1 : Now the links encoding function is called everywhere it needs to be. This patch will be merged in TC 4.0 when the link encoding function itself is updated. Revision Changes Path 1.25 +32 -31 jakarta-tomcat-4.1/catalina/src/share/org/apache/catalina/servlets/DefaultServlet.java Index: DefaultServlet.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.1/catalina/src/share/org/apache/catalina/servlets/DefaultServlet.java,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- DefaultServlet.java 2001/01/18 20:26:58 1.24 +++ DefaultServlet.java 2001/01/19 01:11:29 1.25 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.1/catalina/src/share/org/apache/catalina/servlets/DefaultServlet.java,v 1.24 2001/01/18 20:26:58 remm Exp $ - * $Revision: 1.24 $ - * $Date: 2001/01/18 20:26:58 $ + * $Header: /home/cvs/jakarta-tomcat-4.1/catalina/src/share/org/apache/catalina/servlets/DefaultServlet.java,v 1.25 2001/01/19 01:11:29 remm Exp $ + * $Revision: 1.25 $ + * $Date: 2001/01/19 01:11:29 $ * * ==================================================================== * @@ -78,6 +78,7 @@ import java.io.Writer; import java.net.MalformedURLException; import java.net.URL; +import java.net.URLEncoder; import java.sql.Timestamp; import java.util.Date; import java.util.Enumeration; @@ -118,7 +119,7 @@ * * @author Craig R. McClanahan * @author Remy Maucherat - * @version $Revision: 1.24 $ $Date: 2001/01/18 20:26:58 $ + * @version $Revision: 1.25 $ $Date: 2001/01/19 01:11:29 $ */ public class DefaultServlet @@ -895,6 +896,29 @@ } + /** + * URL rewriter. + * + * @param path Path which has to be rewiten + */ + protected String rewriteUrl(String path) { + + String normalized = path; + + // Replace " " with "%20" + while (true) { + int index = normalized.indexOf(" "); + if (index < 0) + break; + normalized = normalized.substring(0, index) + "%20" + + normalized.substring(index + 1); + } + + return normalized; + + } + + // -------------------------------------------------------- Private Methods @@ -1435,7 +1459,7 @@ if ((contextPath != null) && (!contextPath.equals("/"))) { redirectPath = contextPath + redirectPath; } - response.sendRedirect(redirectPath); + response.sendRedirect(rewriteUrl(redirectPath)); return; } @@ -1750,7 +1774,7 @@ * @param contextPath Context path to which our internal paths are * relative */ - public InputStream render(String contextPath, ResourceInfo resourceInfo) { + private InputStream render(String contextPath, ResourceInfo resourceInfo) { String name = resourceInfo.path; @@ -1798,8 +1822,8 @@ parent = "/"; //if (contextPath.endsWith("/")) //parent = parent.substring(1); - writer.print(parent); - writer.print("\">"); + writer.print(rewriteUrl(parent)); + writer.print("\">"); writer.print(sm.getString("directory.parent", parent)); writer.print("</a>\r\n"); writer.print("</td></tr>\r\n"); @@ -1921,29 +1945,6 @@ } - /** - * URL rewriter. - * - * @param path Path which has to be rewiten - */ - private String rewriteUrl(String path) { - - String normalized = path; - - // Replace " " with "%20" - while (true) { - int index = normalized.indexOf(" "); - if (index < 0) - break; - normalized = normalized.substring(0, index) + "%20" - + normalized.substring(index + 1); - } - - return normalized; - - } - - // ------------------------------------------------------ Range Inner Class 1.11 +7 -7 jakarta-tomcat-4.1/catalina/src/share/org/apache/catalina/servlets/WebdavServlet.java Index: WebdavServlet.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.1/catalina/src/share/org/apache/catalina/servlets/WebdavServlet.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- WebdavServlet.java 2001/01/18 01:45:45 1.10 +++ WebdavServlet.java 2001/01/19 01:11:30 1.11 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.1/catalina/src/share/org/apache/catalina/servlets/WebdavServlet.java,v 1.10 2001/01/18 01:45:45 remm Exp $ - * $Revision: 1.10 $ - * $Date: 2001/01/18 01:45:45 $ + * $Header: /home/cvs/jakarta-tomcat-4.1/catalina/src/share/org/apache/catalina/servlets/WebdavServlet.java,v 1.11 2001/01/19 01:11:30 remm Exp $ + * $Revision: 1.11 $ + * $Date: 2001/01/19 01:11:30 $ * * ==================================================================== * @@ -124,7 +124,7 @@ * are handled by the DefaultServlet. * * @author Remy Maucherat - * @version $Revision: 1.10 $ $Date: 2001/01/18 01:45:45 $ + * @version $Revision: 1.11 $ $Date: 2001/01/19 01:11:30 $ */ public class WebdavServlet @@ -1892,7 +1892,7 @@ if ((resourceInfo.collection) && (!href.endsWith("/"))) href += "/"; - generatedXML.writeText(href); + generatedXML.writeText(rewriteUrl(href)); generatedXML.writeElement(null, "href", XMLWriter.CLOSING); @@ -2157,9 +2157,9 @@ if (!toAppend.startsWith("/")) toAppend = "/" + toAppend; - generatedXML.writeText(absoluteUri + toAppend); + generatedXML.writeText(rewriteUrl(absoluteUri + toAppend)); - generatedXML.writeElement("d", "href", XMLWriter.CLOSING); + generatedXML.writeElement(null, "href", XMLWriter.CLOSING); switch (type) { --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]