mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-01-09 00:52:12 +01:00
improve configuration of proxyservlet
This commit is contained in:
@@ -69,15 +69,20 @@ public class ProxyConfiguration
|
||||
*
|
||||
*
|
||||
* @param url
|
||||
* @param copyRequestHeaders
|
||||
* @param requestHeaderExcludes
|
||||
* @param copyResponseHeaders
|
||||
* @param responseHeaderExcludes
|
||||
* @param cacheEnabled
|
||||
*/
|
||||
public ProxyConfiguration(URL url, Set<String> requestHeaderExcludes,
|
||||
public ProxyConfiguration(URL url, boolean copyRequestHeaders,
|
||||
Set<String> requestHeaderExcludes, boolean copyResponseHeaders,
|
||||
Set<String> responseHeaderExcludes, boolean cacheEnabled)
|
||||
{
|
||||
this.url = url;
|
||||
this.copyResponseHeaders = copyResponseHeaders;
|
||||
this.requestHeaderExcludes = requestHeaderExcludes;
|
||||
this.copyResponseHeaders = copyResponseHeaders;
|
||||
this.responseHeaderExcludes = responseHeaderExcludes;
|
||||
this.cacheEnabled = cacheEnabled;
|
||||
}
|
||||
@@ -108,7 +113,9 @@ public class ProxyConfiguration
|
||||
final ProxyConfiguration other = (ProxyConfiguration) obj;
|
||||
|
||||
return Objects.equal(url, other.url)
|
||||
&& Objects.equal(copyRequestHeaders, other.copyRequestHeaders)
|
||||
&& Objects.equal(requestHeaderExcludes, other.requestHeaderExcludes)
|
||||
&& Objects.equal(copyResponseHeaders, other.copyResponseHeaders)
|
||||
&& Objects.equal(responseHeaderExcludes, other.responseHeaderExcludes)
|
||||
&& Objects.equal(cacheEnabled, other.cacheEnabled);
|
||||
}
|
||||
@@ -122,8 +129,8 @@ public class ProxyConfiguration
|
||||
@Override
|
||||
public int hashCode()
|
||||
{
|
||||
return Objects.hashCode(url, requestHeaderExcludes, responseHeaderExcludes,
|
||||
cacheEnabled);
|
||||
return Objects.hashCode(url, copyRequestHeaders, requestHeaderExcludes,
|
||||
copyResponseHeaders, responseHeaderExcludes, cacheEnabled);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -138,7 +145,9 @@ public class ProxyConfiguration
|
||||
//J-
|
||||
return Objects.toStringHelper(this)
|
||||
.add("url", url)
|
||||
.add("copyRequestHeaders", copyRequestHeaders)
|
||||
.add("requestHeaderExcludes", requestHeaderExcludes)
|
||||
.add("copyResponseHeaders", copyResponseHeaders)
|
||||
.add("responseHeaderExcludes", responseHeaderExcludes)
|
||||
.add("cacheEnabled", cacheEnabled)
|
||||
.toString();
|
||||
@@ -201,12 +210,42 @@ public class ProxyConfiguration
|
||||
return cacheEnabled;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method description
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public boolean isCopyRequestHeaders()
|
||||
{
|
||||
return copyRequestHeaders;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method description
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public boolean isCopyResponseHeaders()
|
||||
{
|
||||
return copyResponseHeaders;
|
||||
}
|
||||
|
||||
//~--- fields ---------------------------------------------------------------
|
||||
|
||||
/** Field description */
|
||||
@XmlElement(name = "cache-enabled")
|
||||
private boolean cacheEnabled = true;
|
||||
|
||||
/** Field description */
|
||||
@XmlElement(name = "copy-request-headers")
|
||||
private boolean copyRequestHeaders = true;
|
||||
|
||||
/** Field description */
|
||||
@XmlElement(name = "copy-response-headers")
|
||||
private boolean copyResponseHeaders = true;
|
||||
|
||||
/** Field description */
|
||||
@XmlElement(name = "exclude")
|
||||
@XmlElementWrapper(name = "request-header-excludes")
|
||||
|
||||
@@ -120,7 +120,16 @@ public class ProxyServlet extends HttpServlet
|
||||
|
||||
con = createConnection(configuration, request);
|
||||
|
||||
copyRequestHeaders(configuration, request, con);
|
||||
if (configuration.isCopyRequestHeaders())
|
||||
{
|
||||
logger.trace("copy request headers");
|
||||
copyRequestHeaders(configuration, request, con);
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.trace("skip copy of request headers");
|
||||
}
|
||||
|
||||
con.connect();
|
||||
|
||||
int responseCode = con.getResponseCode();
|
||||
@@ -128,7 +137,15 @@ public class ProxyServlet extends HttpServlet
|
||||
logger.trace("resonse returned status code {}", responseCode);
|
||||
response.setStatus(responseCode);
|
||||
|
||||
copyResponseHeaders(configuration, con, response);
|
||||
if (configuration.isCopyResponseHeaders())
|
||||
{
|
||||
logger.trace("copy response headers");
|
||||
copyResponseHeaders(configuration, con, response);
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.trace("skip copy of response headers");
|
||||
}
|
||||
|
||||
copyContent(con, response);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user