From 2ea85bfe371215ef21fcd528bc40fa57c48ee698 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 31 Oct 2012 16:38:03 -0400
Subject: [PATCH] Personal repositories must always be owned by the account the repo is stored in
---
src/com/gitblit/wicket/GitblitParamUrlCodingStrategy.java | 28 ++++++++++++++++++++++++++++
1 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/src/com/gitblit/wicket/GitblitParamUrlCodingStrategy.java b/src/com/gitblit/wicket/GitblitParamUrlCodingStrategy.java
index 3248a08..fb86fb0 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;
@@ -32,6 +39,8 @@
*
*/
public class GitblitParamUrlCodingStrategy extends MixedParamUrlCodingStrategy {
+
+ private Logger logger = LoggerFactory.getLogger(GitblitParamUrlCodingStrategy.class);
/**
* Construct.
@@ -78,4 +87,23 @@
}
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
--
Gitblit v1.9.1