summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2011-09-26 17:48:53 -0400
committerJames Moger <james.moger@gitblit.com>2011-09-26 17:48:53 -0400
commit2179fb76bbbd2021c350a7c28d6901389ed50b2b (patch)
tree0dbe1d29e0620a78162be8c7fc3ba3491f7d7dd8 /src
parent7e099b44ccd6fca3f195b5867f86cce31e558fee (diff)
downloadgitblit-2179fb76bbbd2021c350a7c28d6901389ed50b2b.tar.gz
gitblit-2179fb76bbbd2021c350a7c28d6901389ed50b2b.zip
Fixed broken urls for WAR builds.
Diffstat (limited to 'src')
-rw-r--r--src/com/gitblit/AccessRestrictionFilter.java3
-rw-r--r--src/com/gitblit/FederationServlet.java7
-rw-r--r--src/com/gitblit/SyndicationServlet.java6
-rw-r--r--src/com/gitblit/utils/HttpUtils.java5
-rw-r--r--src/com/gitblit/wicket/WicketUtils.java4
-rw-r--r--src/com/gitblit/wicket/pages/CommitPage.java6
-rw-r--r--src/com/gitblit/wicket/pages/SendProposalPage.java2
-rw-r--r--src/com/gitblit/wicket/pages/SummaryPage.java2
-rw-r--r--src/com/gitblit/wicket/pages/TreePage.java9
-rw-r--r--src/com/gitblit/wicket/panels/FederationTokensPanel.java2
-rw-r--r--src/com/gitblit/wicket/panels/RepositoriesPanel.java7
11 files changed, 28 insertions, 25 deletions
diff --git a/src/com/gitblit/AccessRestrictionFilter.java b/src/com/gitblit/AccessRestrictionFilter.java
index 6ec70dbd..e309b595 100644
--- a/src/com/gitblit/AccessRestrictionFilter.java
+++ b/src/com/gitblit/AccessRestrictionFilter.java
@@ -130,7 +130,8 @@ public abstract class AccessRestrictionFilter implements Filter {
AccessRestrictionRequest accessRequest = new AccessRestrictionRequest(httpRequest);
- String url = httpRequest.getRequestURI().substring(httpRequest.getServletPath().length());
+ String servletUrl = httpRequest.getContextPath() + httpRequest.getServletPath();
+ String url = httpRequest.getRequestURI().substring(servletUrl.length());
String params = httpRequest.getQueryString();
if (url.length() > 0 && url.charAt(0) == '/') {
url = url.substring(1);
diff --git a/src/com/gitblit/FederationServlet.java b/src/com/gitblit/FederationServlet.java
index 708ca921..784ec33f 100644
--- a/src/com/gitblit/FederationServlet.java
+++ b/src/com/gitblit/FederationServlet.java
@@ -159,9 +159,8 @@ public class FederationServlet extends HttpServlet {
return;
}
- String hosturl = HttpUtils.getHostURL(request);
- String gitblitUrl = hosturl + request.getContextPath();
- GitBlit.self().submitFederationProposal(proposal, gitblitUrl);
+ String url = HttpUtils.getGitblitURL(request);
+ GitBlit.self().submitFederationProposal(proposal, url);
logger.info(MessageFormat.format(
"Submitted {0} federation proposal to pull {1} repositories from {2}",
proposal.tokenType.name(), proposal.repositories.size(), proposal.url));
@@ -218,7 +217,7 @@ public class FederationServlet extends HttpServlet {
Object result = null;
if (FederationRequest.PULL_REPOSITORIES.equals(reqType)) {
- String gitblitUrl = HttpUtils.getHostURL(request);
+ String gitblitUrl = HttpUtils.getGitblitURL(request);
result = GitBlit.self().getRepositories(gitblitUrl, token);
} else {
if (FederationRequest.PULL_SETTINGS.equals(reqType)) {
diff --git a/src/com/gitblit/SyndicationServlet.java b/src/com/gitblit/SyndicationServlet.java
index 99497544..4ba27891 100644
--- a/src/com/gitblit/SyndicationServlet.java
+++ b/src/com/gitblit/SyndicationServlet.java
@@ -116,8 +116,8 @@ public class SyndicationServlet extends HttpServlet {
javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException,
java.io.IOException {
- String hostURL = HttpUtils.getHostURL(request);
- String url = request.getRequestURI().substring(request.getServletPath().length());
+ String servletUrl = request.getContextPath() + request.getServletPath();
+ String url = request.getRequestURI().substring(servletUrl.length());
if (url.charAt(0) == '/' && url.length() > 1) {
url = url.substring(1);
}
@@ -139,7 +139,7 @@ public class SyndicationServlet extends HttpServlet {
RepositoryModel model = GitBlit.self().getRepositoryModel(repositoryName);
List<RevCommit> commits = JGitUtils.getRevLog(repository, objectId, 0, length);
try {
- SyndicationUtils.toRSS(hostURL, getTitle(model.name, objectId), model.description,
+ SyndicationUtils.toRSS(HttpUtils.getGitblitURL(request), getTitle(model.name, objectId), model.description,
model.name, commits, response.getOutputStream());
} catch (Exception e) {
logger.error("An error occurred during feed generation", e);
diff --git a/src/com/gitblit/utils/HttpUtils.java b/src/com/gitblit/utils/HttpUtils.java
index 6f0bedeb..079d1a6b 100644
--- a/src/com/gitblit/utils/HttpUtils.java
+++ b/src/com/gitblit/utils/HttpUtils.java
@@ -26,12 +26,12 @@ import javax.servlet.http.HttpServletRequest;
public class HttpUtils {
/**
- * Returns the host URL based on the request.
+ * Returns the Gitblit URL based on the request.
*
* @param request
* @return the host url
*/
- public static String getHostURL(HttpServletRequest request) {
+ public static String getGitblitURL(HttpServletRequest request) {
StringBuilder sb = new StringBuilder();
sb.append(request.getScheme());
sb.append("://");
@@ -40,6 +40,7 @@ public class HttpUtils {
|| (request.getScheme().equals("https") && request.getServerPort() != 443)) {
sb.append(":" + request.getServerPort());
}
+ sb.append(request.getContextPath());
return sb.toString();
}
}
diff --git a/src/com/gitblit/wicket/WicketUtils.java b/src/com/gitblit/wicket/WicketUtils.java
index 1a24925b..36f74a15 100644
--- a/src/com/gitblit/wicket/WicketUtils.java
+++ b/src/com/gitblit/wicket/WicketUtils.java
@@ -217,9 +217,9 @@ public class WicketUtils {
return new ContextRelativeResource(file);
}
- public static String getHostURL(Request request) {
+ public static String getGitblitURL(Request request) {
HttpServletRequest req = ((WebRequest) request).getHttpServletRequest();
- return HttpUtils.getHostURL(req);
+ return HttpUtils.getGitblitURL(req);
}
public static HeaderContributor syndicationDiscoveryLink(final String feedTitle,
diff --git a/src/com/gitblit/wicket/pages/CommitPage.java b/src/com/gitblit/wicket/pages/CommitPage.java
index b49b1d63..7bf78077 100644
--- a/src/com/gitblit/wicket/pages/CommitPage.java
+++ b/src/com/gitblit/wicket/pages/CommitPage.java
@@ -92,9 +92,9 @@ public class CommitPage extends RepositoryPage {
add(new LinkPanel("commitTree", "list", c.getTree().getName(), TreePage.class,
newCommitParameter()));
add(new BookmarkablePageLink<Void>("treeLink", TreePage.class, newCommitParameter()));
- add(new ExternalLink("zipLink", DownloadZipServlet.asLink(getRequest()
- .getRelativePathPrefixToContextRoot(), repositoryName, objectId, null))
- .setVisible(GitBlit.getBoolean(Keys.web.allowZipDownloads, true)));
+ final String baseUrl = WicketUtils.getGitblitURL(getRequest());
+ add(new ExternalLink("zipLink", DownloadZipServlet.asLink(baseUrl, repositoryName,
+ objectId, null)).setVisible(GitBlit.getBoolean(Keys.web.allowZipDownloads, true)));
// Parent Commits
ListDataProvider<String> parentsDp = new ListDataProvider<String>(parents);
diff --git a/src/com/gitblit/wicket/pages/SendProposalPage.java b/src/com/gitblit/wicket/pages/SendProposalPage.java
index adef0c54..ea91f1b2 100644
--- a/src/com/gitblit/wicket/pages/SendProposalPage.java
+++ b/src/com/gitblit/wicket/pages/SendProposalPage.java
@@ -52,7 +52,7 @@ public class SendProposalPage extends BasePage {
final String token = WicketUtils.getToken(params);
- myUrl = WicketUtils.getHostURL(getRequest());
+ myUrl = WicketUtils.getGitblitURL(getRequest());
destinationUrl = "https://";
// temporary proposal
diff --git a/src/com/gitblit/wicket/pages/SummaryPage.java b/src/com/gitblit/wicket/pages/SummaryPage.java
index 07d57144..9fd90c5f 100644
--- a/src/com/gitblit/wicket/pages/SummaryPage.java
+++ b/src/com/gitblit/wicket/pages/SummaryPage.java
@@ -114,7 +114,7 @@ public class SummaryPage extends RepositoryPage {
add(WicketUtils.newClearPixel("accessRestrictionIcon").setVisible(false));
}
StringBuilder sb = new StringBuilder();
- sb.append(WicketUtils.getHostURL(getRequestCycle().getRequest()));
+ sb.append(WicketUtils.getGitblitURL(getRequestCycle().getRequest()));
sb.append(Constants.GIT_PATH);
sb.append(repositoryName);
repositoryUrls.add(sb.toString());
diff --git a/src/com/gitblit/wicket/pages/TreePage.java b/src/com/gitblit/wicket/pages/TreePage.java
index 8695621e..7fc91eee 100644
--- a/src/com/gitblit/wicket/pages/TreePage.java
+++ b/src/com/gitblit/wicket/pages/TreePage.java
@@ -78,6 +78,8 @@ public class TreePage extends RepositoryPage {
final ByteFormat byteFormat = new ByteFormat();
+ final String baseUrl = WicketUtils.getGitblitURL(getRequest());
+
// changed paths list
ListDataProvider<PathModel> pathsDp = new ListDataProvider<PathModel>(paths);
DataView<PathModel> pathsView = new DataView<PathModel>("changedPath", pathsDp) {
@@ -112,10 +114,9 @@ public class TreePage extends RepositoryPage {
links.add(new BookmarkablePageLink<Void>("history", HistoryPage.class,
WicketUtils.newPathParameter(repositoryName, entry.commitId,
entry.path)));
- links.add(new ExternalLink("zip", DownloadZipServlet.asLink(getRequest()
- .getRelativePathPrefixToContextRoot(), repositoryName, objectId,
- entry.path)).setVisible(GitBlit.getBoolean(
- Keys.web.allowZipDownloads, true)));
+ links.add(new ExternalLink("zip", DownloadZipServlet.asLink(baseUrl,
+ repositoryName, objectId, entry.path)).setVisible(GitBlit
+ .getBoolean(Keys.web.allowZipDownloads, true)));
item.add(links);
} else {
// blob link
diff --git a/src/com/gitblit/wicket/panels/FederationTokensPanel.java b/src/com/gitblit/wicket/panels/FederationTokensPanel.java
index 5a2e1250..3a771886 100644
--- a/src/com/gitblit/wicket/panels/FederationTokensPanel.java
+++ b/src/com/gitblit/wicket/panels/FederationTokensPanel.java
@@ -41,7 +41,7 @@ public class FederationTokensPanel extends BasePanel {
public FederationTokensPanel(String wicketId, final boolean showFederation) {
super(wicketId);
- final String baseUrl = getRequest().getRelativePathPrefixToContextRoot();
+ final String baseUrl = WicketUtils.getGitblitURL(getRequest());
add(new ExternalLink("federatedUsers", FederationServlet.asFederationLink(baseUrl, GitBlit.self()
.getFederationToken(FederationToken.USERS_AND_REPOSITORIES),
FederationRequest.PULL_USERS)));
diff --git a/src/com/gitblit/wicket/panels/RepositoriesPanel.java b/src/com/gitblit/wicket/panels/RepositoriesPanel.java
index f644546b..63b512c2 100644
--- a/src/com/gitblit/wicket/panels/RepositoriesPanel.java
+++ b/src/com/gitblit/wicket/panels/RepositoriesPanel.java
@@ -125,6 +125,8 @@ public class RepositoriesPanel extends BasePanel {
} else {
dp = new SortableRepositoriesProvider(models);
}
+
+ final String baseUrl = WicketUtils.getGitblitURL(getRequest());
DataView<RepositoryModel> dataView = new DataView<RepositoryModel>("row", dp) {
private static final long serialVersionUID = 1L;
@@ -271,9 +273,8 @@ public class RepositoriesPanel extends BasePanel {
} else {
row.add(new Label("repositoryLinks"));
}
- row.add(new ExternalLink("syndication", SyndicationServlet.asLink(getRequest()
- .getRelativePathPrefixToContextRoot(), entry.name, null, 0))
- .setVisible(linksActive));
+ row.add(new ExternalLink("syndication", SyndicationServlet.asLink(baseUrl,
+ entry.name, null, 0)).setVisible(linksActive));
WicketUtils.setAlternatingBackground(item, counter);
counter++;
}