summaryrefslogtreecommitdiffstats
path: root/src/com/gitblit/wicket/GitblitParamUrlCodingStrategy.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/gitblit/wicket/GitblitParamUrlCodingStrategy.java')
-rw-r--r--src/com/gitblit/wicket/GitblitParamUrlCodingStrategy.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/com/gitblit/wicket/GitblitParamUrlCodingStrategy.java b/src/com/gitblit/wicket/GitblitParamUrlCodingStrategy.java
index 3248a082..fb86fb0e 100644
--- a/src/com/gitblit/wicket/GitblitParamUrlCodingStrategy.java
+++ b/src/com/gitblit/wicket/GitblitParamUrlCodingStrategy.java
@@ -15,8 +15,15 @@
*/
package com.gitblit.wicket;
+import java.text.MessageFormat;
+
+import org.apache.wicket.IRequestTarget;
import org.apache.wicket.Page;
+import org.apache.wicket.PageParameters;
+import org.apache.wicket.request.RequestParameters;
import org.apache.wicket.request.target.coding.MixedParamUrlCodingStrategy;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import com.gitblit.GitBlit;
import com.gitblit.Keys;
@@ -33,6 +40,8 @@ import com.gitblit.Keys;
*/
public class GitblitParamUrlCodingStrategy extends MixedParamUrlCodingStrategy {
+ private Logger logger = LoggerFactory.getLogger(GitblitParamUrlCodingStrategy.class);
+
/**
* Construct.
*
@@ -78,4 +87,23 @@ public class GitblitParamUrlCodingStrategy extends MixedParamUrlCodingStrategy {
}
return super.urlDecodePathComponent(value);
}
+
+ /**
+ * Gets the decoded request target.
+ *
+ * @param requestParameters
+ * the request parameters
+ * @return the decoded request target
+ */
+ @Override
+ public IRequestTarget decode(RequestParameters requestParameters) {
+ final String parametersFragment = requestParameters.getPath().substring(
+ getMountPath().length());
+ logger.debug(MessageFormat
+ .format("REQ: {0} PARAMS {1}", getMountPath(), parametersFragment));
+
+ final PageParameters parameters = new PageParameters(decodeParameters(parametersFragment,
+ requestParameters.getParameters()));
+ return super.decode(requestParameters);
+ }
} \ No newline at end of file