Merge branch '2.2.x'

This commit is contained in:
spencergibb
2021-02-17 09:53:01 -05:00
4 changed files with 29 additions and 9 deletions

View File

@@ -41,16 +41,16 @@
|spring.cloud.gateway.filter.rewrite-path.enabled | `true` | Enables the rewrite-path filter.
|spring.cloud.gateway.filter.rewrite-response-header.enabled | `true` | Enables the rewrite-response-header filter.
|spring.cloud.gateway.filter.save-session.enabled | `true` | Enables the save-session filter.
|spring.cloud.gateway.filter.secure-headers.content-security-policy | `default-src 'self' https:; font-src 'self' https: data:; img-src 'self' https: data:; object-src 'none'; script-src https:; style-src 'self' https: 'unsafe-inline'` |
|spring.cloud.gateway.filter.secure-headers.content-type-options | `nosniff` |
|spring.cloud.gateway.filter.secure-headers.content-security-policy | `default-src 'self' https:; font-src 'self' https: data:; img-src 'self' https: data:; object-src 'none'; script-src https:; style-src 'self' https: 'unsafe-inline'` |
|spring.cloud.gateway.filter.secure-headers.content-type-options | `nosniff` |
|spring.cloud.gateway.filter.secure-headers.disable | |
|spring.cloud.gateway.filter.secure-headers.download-options | `noopen` |
|spring.cloud.gateway.filter.secure-headers.download-options | `noopen` |
|spring.cloud.gateway.filter.secure-headers.enabled | `true` | Enables the secure-headers filter.
|spring.cloud.gateway.filter.secure-headers.frame-options | `DENY` |
|spring.cloud.gateway.filter.secure-headers.permitted-cross-domain-policies | `none` |
|spring.cloud.gateway.filter.secure-headers.referrer-policy | `no-referrer` |
|spring.cloud.gateway.filter.secure-headers.strict-transport-security | `max-age=631138519` |
|spring.cloud.gateway.filter.secure-headers.xss-protection-header | `1 ; mode=block` |
|spring.cloud.gateway.filter.secure-headers.frame-options | `DENY` |
|spring.cloud.gateway.filter.secure-headers.permitted-cross-domain-policies | `none` |
|spring.cloud.gateway.filter.secure-headers.referrer-policy | `no-referrer` |
|spring.cloud.gateway.filter.secure-headers.strict-transport-security | `max-age=631138519` |
|spring.cloud.gateway.filter.secure-headers.xss-protection-header | `1 ; mode=block` |
|spring.cloud.gateway.filter.set-path.enabled | `true` | Enables the set-path filter.
|spring.cloud.gateway.filter.set-request-header.enabled | `true` | Enables the set-request-header filter.
|spring.cloud.gateway.filter.set-request-host-header.enabled | `true` | Enables the set-request-host-header filter.
@@ -98,9 +98,10 @@
|spring.cloud.gateway.httpclient.ssl.use-insecure-trust-manager | `false` | Installs the netty InsecureTrustManagerFactory. This is insecure and not suitable for production.
|spring.cloud.gateway.httpclient.websocket.max-frame-payload-length | | Max frame payload length.
|spring.cloud.gateway.httpclient.websocket.proxy-ping | `true` | Proxy ping frames to downstream services, defaults to true.
|spring.cloud.gateway.httpclient.compression | `false` | Enables compression support for Netty HttpClient.
|spring.cloud.gateway.httpclient.wiretap | `false` | Enables wiretap debugging for Netty HttpClient.
|spring.cloud.gateway.httpserver.wiretap | `false` | Enables wiretap debugging for Netty HttpServer.
|spring.cloud.gateway.loadbalancer.use404 | `false` |
|spring.cloud.gateway.loadbalancer.use404 | `false` |
|spring.cloud.gateway.metrics.enabled | `false` | Enables the collection of metrics data.
|spring.cloud.gateway.metrics.prefix | `spring.cloud.gateway` | The prefix of all metrics emitted by gateway.
|spring.cloud.gateway.metrics.tags | | Tags map that added to metrics.

View File

@@ -170,6 +170,7 @@ import static org.springframework.cloud.gateway.config.HttpClientProperties.Pool
/**
* @author Spencer Gibb
* @author Ziemowit Stolarczyk
* @author Mete Alpaslan Katırcıoğlu
*/
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(name = "spring.cloud.gateway.enabled", matchIfMissing = true)
@@ -739,6 +740,10 @@ public class GatewayAutoConfiguration {
httpClient = httpClient.wiretap(true);
}
if (properties.isCompression()) {
httpClient = httpClient.compress(true);
}
if (!CollectionUtils.isEmpty(customizers)) {
customizers.sort(AnnotationAwareOrderComparator.INSTANCE);
for (HttpClientCustomizer customizer : customizers) {

View File

@@ -77,6 +77,9 @@ public class HttpClientProperties {
/** Enables wiretap debugging for Netty HttpClient. */
private boolean wiretap;
/** Enables compression for Netty HttpClient. */
private boolean compression;
public Integer getConnectTimeout() {
return connectTimeout;
}
@@ -151,6 +154,14 @@ public class HttpClientProperties {
this.wiretap = wiretap;
}
public boolean isCompression() {
return compression;
}
public void setCompression(boolean compression) {
this.compression = compression;
}
@Override
public String toString() {
// @formatter:off
@@ -164,6 +175,7 @@ public class HttpClientProperties {
.append("ssl", ssl)
.append("websocket", websocket)
.append("wiretap", wiretap)
.append("compression", compression)
.toString();
// @formatter:on

View File

@@ -95,6 +95,7 @@ public class GatewayAutoConfigurationTests {
"spring.cloud.gateway.httpclient.connect-timeout=10",
"spring.cloud.gateway.httpclient.response-timeout=10s",
"spring.cloud.gateway.httpclient.pool.type=fixed",
"spring.cloud.gateway.httpclient.compression=true",
// greather than integer max value
"spring.cloud.gateway.httpclient.max-initial-line-length=2147483647",
"spring.cloud.gateway.httpclient.proxy.host=myhost",
@@ -104,6 +105,7 @@ public class GatewayAutoConfigurationTests {
HttpClient httpClient = context.getBean(HttpClient.class);
HttpClientProperties properties = context.getBean(HttpClientProperties.class);
assertThat(properties.getMaxInitialLineLength().toBytes()).isLessThanOrEqualTo(Integer.MAX_VALUE);
assertThat(properties.isCompression()).isEqualTo(true);
/*
* FIXME: 2.1.0 HttpClientOptions options = httpClient.options();
*