You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by si...@apache.org on 2010/01/05 15:03:36 UTC

svn commit: r896041 - in /labs/magma/trunk/foundation-website/src: main/java/org/apache/magma/website/Dispatch.java test/java/org/apache/magma/website/DefaultExpectations.java

Author: simoneg
Date: Tue Jan  5 14:03:36 2010
New Revision: 896041

URL: http://svn.apache.org/viewvc?rev=896041&view=rev
Log:
Decode the pathInfo from URL encoding

Modified:
    labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/Dispatch.java
    labs/magma/trunk/foundation-website/src/test/java/org/apache/magma/website/DefaultExpectations.java

Modified: labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/Dispatch.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/Dispatch.java?rev=896041&r1=896040&r2=896041&view=diff
==============================================================================
--- labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/Dispatch.java (original)
+++ labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/Dispatch.java Tue Jan  5 14:03:36 2010
@@ -27,7 +27,9 @@
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.PrintStream;
+import java.io.UnsupportedEncodingException;
 import java.lang.reflect.Method;
+import java.net.URLDecoder;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -72,6 +74,15 @@
 
 	protected void handle(HttpServletRequest req, HttpServletResponse resp) {
 		String pathInfo = req.getPathInfo();
+		String enc = req.getCharacterEncoding();
+		if (enc == null) enc = "UTF-8";
+		try {
+			pathInfo = URLDecoder.decode(pathInfo, enc);
+		} catch (UnsupportedEncodingException uee) {
+			try {
+				pathInfo = URLDecoder.decode(pathInfo, "UTF-8");
+			} catch (UnsupportedEncodingException uee2) {}
+		}
 		while (pathInfo.indexOf("//") != -1) {
 			pathInfo = pathInfo.replaceAll("//", "/");
 		}

Modified: labs/magma/trunk/foundation-website/src/test/java/org/apache/magma/website/DefaultExpectations.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/test/java/org/apache/magma/website/DefaultExpectations.java?rev=896041&r1=896040&r2=896041&view=diff
==============================================================================
--- labs/magma/trunk/foundation-website/src/test/java/org/apache/magma/website/DefaultExpectations.java (original)
+++ labs/magma/trunk/foundation-website/src/test/java/org/apache/magma/website/DefaultExpectations.java Tue Jan  5 14:03:36 2010
@@ -54,6 +54,7 @@
 		this.path = path;
 		allowing(req).getMethod(); will(returnValue("GET"));
 		allowing(req).getLocale(); will(returnValue(Locale.ITALY));
+		allowing(req).getCharacterEncoding(); will(returnValue("UTF-8"));
 		one(req).getPathInfo(); will(returnValue(path));
 		atMost(1).of(req).getContextPath(); will(returnValue("/app"));
 		atMost(1).of(req).getServletPath(); will(returnValue("/tests"));
@@ -86,6 +87,7 @@
 	public void setupMinimal(String path) throws IOException {
 		allowing(req).getMethod(); will(returnValue("GET"));
 		allowing(req).getLocale(); will(returnValue(Locale.ITALY));
+		allowing(req).getCharacterEncoding(); will(returnValue("UTF-8"));
 		one(req).getPathInfo(); will(returnValue(path));
 		allowing(req).getContextPath(); will(returnValue("/app"));
 		allowing(req).getServletPath(); will(returnValue("/tests"));



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org