From c558deef274d838aae5c0366ff7dc2ebce27a981 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 20 Sep 2012 09:41:28 -0400 Subject: [PATCH] Support X-Forwarded-Context for subdomain proxy configs (issue 135) --- src/com/gitblit/utils/HttpUtils.java | 16 +++++++++++++++- 1 files changed, 15 insertions(+), 1 deletions(-) diff --git a/src/com/gitblit/utils/HttpUtils.java b/src/com/gitblit/utils/HttpUtils.java index 3903f8c..ad7d58c 100644 --- a/src/com/gitblit/utils/HttpUtils.java +++ b/src/com/gitblit/utils/HttpUtils.java @@ -67,6 +67,20 @@ } } + String context = request.getContextPath(); + String forwardedContext = request.getHeader("X-Forwarded-Context"); + if (forwardedContext != null) { + forwardedContext = request.getHeader("X_Forwarded_Context"); + } + if (!StringUtils.isEmpty(forwardedContext)) { + context = forwardedContext; + } + + // trim any trailing slash + if (context.length() > 0 && context.charAt(context.length() - 1) == '/') { + context = context.substring(1); + } + StringBuilder sb = new StringBuilder(); sb.append(scheme); sb.append("://"); @@ -75,7 +89,7 @@ || ("https".equals(scheme) && port != 443)) { sb.append(":" + port); } - sb.append(request.getContextPath()); + sb.append(context); return sb.toString(); } } -- Gitblit v1.9.1