Skip to content

Commit afd4e0a

Browse files
committed
Merge branch '4.1.x' into 4.2.x
2 parents 33c9953 + 55b3cd0 commit afd4e0a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+754
-270
lines changed

docs/modules/ROOT/pages/spring-cloud-gateway-server-mvc/filters/addrequestheader.adoc

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,16 @@ spring:
1414
routes:
1515
- id: add_request_header_route
1616
uri: https://example.org
17+
predicates:
18+
- Path=/red
1719
filters:
1820
- AddRequestHeader=X-Request-red, blue
1921
----
2022

2123
.GatewaySampleApplication.java
2224
[source,java]
2325
----
26+
import static org.springframework.cloud.gateway.server.mvc.filter.BeforeFilterFunctions.uri;
2427
import static org.springframework.cloud.gateway.server.mvc.filter.BeforeFilterFunctions.addRequestHeader;
2528
import static org.springframework.cloud.gateway.server.mvc.handler.GatewayRouterFunctions.route;
2629
import static org.springframework.cloud.gateway.server.mvc.handler.HandlerFunctions.http;
@@ -30,8 +33,10 @@ class RouteConfiguration {
3033
3134
@Bean
3235
public RouterFunction<ServerResponse> gatewayRouterFunctionsAddReqHeader() {
33-
return route(GET("/red"), http("https://example.org"))
34-
.before(addRequestHeader("X-Request-red", "blue"));
36+
return route("add_request_header_route")
37+
.GET("/red", http())
38+
.before(uri("https://example.org"))
39+
.before(addRequestHeader("X-Request-red", "blue"));
3540
}
3641
}
3742
----
@@ -45,13 +50,20 @@ The following example configures an `AddRequestHeader` filter that uses a variab
4550
.GatewaySampleApplication.java
4651
[source,java]
4752
----
53+
import static org.springframework.cloud.gateway.server.mvc.filter.BeforeFilterFunctions.uri;
54+
import static org.springframework.cloud.gateway.server.mvc.filter.BeforeFilterFunctions.addRequestHeader;
55+
import static org.springframework.cloud.gateway.server.mvc.handler.GatewayRouterFunctions.route;
56+
import static org.springframework.cloud.gateway.server.mvc.handler.HandlerFunctions.http;
57+
4858
@Configuration
4959
class RouteConfiguration {
5060
5161
@Bean
5262
public RouterFunction<ServerResponse> gatewayRouterFunctionsAddReqHeader() {
53-
return route(GET("/red/{segment}"), http("https://example.org"))
54-
.before(addRequestHeader("X-Request-red", "blue-{segment}"));
63+
return route("add_request_header_route")
64+
.GET("/red/{segment}", http())
65+
.before(uri("https://example.org"))
66+
.before(addRequestHeader("X-Request-red", "blue-{segment}"));
5567
}
5668
}
5769
----

docs/modules/ROOT/pages/spring-cloud-gateway-server-mvc/filters/addrequestheadersifnotpresent.adoc

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,18 @@ spring:
1212
gateway:
1313
mvc:
1414
routes:
15-
- id: add_request_headers_route
15+
- id: add_request_headers_route_inp
1616
uri: https://example.org
17+
predicates:
18+
- Path=/red
1719
filters:
1820
- AddRequestHeadersIfNotPresent=X-Request-Color-1:blue,X-Request-Color-2:green
1921
----
2022

2123
.GatewaySampleApplication.java
2224
[source,java]
2325
----
26+
import static org.springframework.cloud.gateway.server.mvc.filter.BeforeFilterFunctions.uri;
2427
import static org.springframework.cloud.gateway.server.mvc.filter.BeforeFilterFunctions.addRequestHeadersIfNotPresent;
2528
import static org.springframework.cloud.gateway.server.mvc.handler.GatewayRouterFunctions.route;
2629
import static org.springframework.cloud.gateway.server.mvc.handler.HandlerFunctions.http;
@@ -29,9 +32,11 @@ import static org.springframework.cloud.gateway.server.mvc.handler.HandlerFuncti
2932
class RouteConfiguration {
3033
3134
@Bean
32-
public RouterFunction<ServerResponse> gatewayRouterFunctionsAddReqHeader() {
33-
return route(GET("/red"), http("https://example.org"))
34-
.before(addRequestHeadersIfNotPresent("X-Request-Color-1:blue","X-Request-Color-2:green"));
35+
public RouterFunction<ServerResponse> gatewayRouterFunctionsAddReqHeaderInp() {
36+
return route("add_request_headers_route_inp")
37+
.GET("/red", http())
38+
.before(uri("https://example.org"))
39+
.before(addRequestHeadersIfNotPresent("X-Request-Color-1:blue","X-Request-Color-2:green"));
3540
}
3641
}
3742
----
@@ -49,13 +54,20 @@ The following example configures an `AddRequestHeadersIfNotPresent` filter that
4954
.GatewaySampleApplication.java
5055
[source,java]
5156
----
57+
import static org.springframework.cloud.gateway.server.mvc.filter.BeforeFilterFunctions.addRequestHeadersIfNotPresent;
58+
import static org.springframework.cloud.gateway.server.mvc.filter.BeforeFilterFunctions.uri;
59+
import static org.springframework.cloud.gateway.server.mvc.handler.GatewayRouterFunctions.route;
60+
import static org.springframework.cloud.gateway.server.mvc.handler.HandlerFunctions.http;
61+
5262
@Configuration
5363
class RouteConfiguration {
5464
5565
@Bean
56-
public RouterFunction<ServerResponse> gatewayRouterFunctionsAddReqHeader() {
57-
return route(GET("/red/{segment}"), http("https://example.org"))
58-
.before(addRequestHeadersIfNotPresent("X-Request-red", "blue-{segment}"));
66+
public RouterFunction<ServerResponse> gatewayRouterFunctionsAddReqHeaderInp() {
67+
return route("add_request_header_route_inp")
68+
.GET("/red/{segment}", http())
69+
.before(uri("https://example.org"))
70+
.before(addRequestHeadersIfNotPresent("X-Request-red", "blue-{segment}"));
5971
}
6072
}
6173
----
@@ -66,7 +78,7 @@ spring:
6678
cloud:
6779
gateway:
6880
routes:
69-
- id: add_request_header_route
81+
- id: add_request_header_route_inp
7082
uri: https://example.org
7183
predicates:
7284
- Path=/red/{segment}

docs/modules/ROOT/pages/spring-cloud-gateway-server-mvc/filters/addrequestparameter.adoc

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,16 @@ spring:
1414
routes:
1515
- id: add_request_parameter_route
1616
uri: https://example.org
17+
predicates:
18+
- Path=/anything/addrequestparam
1719
filters:
1820
- AddRequestParameter=red, blue
1921
----
2022

2123
.GatewaySampleApplication.java
2224
[source,java]
2325
----
26+
import static org.springframework.cloud.gateway.server.mvc.filter.BeforeFilterFunctions.uri;
2427
import static org.springframework.cloud.gateway.server.mvc.filter.BeforeFilterFunctions.addRequestParameter;
2528
import static org.springframework.cloud.gateway.server.mvc.handler.GatewayRouterFunctions.route;
2629
import static org.springframework.cloud.gateway.server.mvc.handler.HandlerFunctions.http;
@@ -29,11 +32,12 @@ import static org.springframework.cloud.gateway.server.mvc.handler.HandlerFuncti
2932
class RouteConfiguration {
3033
3134
@Bean
32-
public RouterFunction<ServerResponse> gatewayRouterFunctionsAddReqHeader() {
33-
return route("add_request_parameter_route")
34-
.GET("/anything/addrequestparam", http("https://example.org"))
35-
.before(addRequestParameter("red", "blue"))
36-
.build();
35+
public RouterFunction<ServerResponse> gatewayRouterFunctionsAddReqParameter() {
36+
return route("add_request_parameter_route")
37+
.GET("/anything/addrequestparam", http())
38+
.before(uri("https://example.org"))
39+
.before(addRequestParameter("red", "blue"))
40+
.build();
3741
}
3842
}
3943
----
@@ -47,6 +51,7 @@ The following example configures an `AddRequestParameter` filter that uses a var
4751
.GatewaySampleApplication.java
4852
[source,java]
4953
----
54+
import static org.springframework.cloud.gateway.server.mvc.filter.BeforeFilterFunctions.uri;
5055
import static org.springframework.cloud.gateway.server.mvc.filter.BeforeFilterFunctions.addRequestParameter;
5156
import static org.springframework.cloud.gateway.server.mvc.handler.GatewayRouterFunctions.route;
5257
import static org.springframework.cloud.gateway.server.mvc.handler.HandlerFunctions.http;
@@ -56,11 +61,12 @@ import static org.springframework.cloud.gateway.server.mvc.predicate.GatewayRequ
5661
class RouteConfiguration {
5762
5863
@Bean
59-
public RouterFunction<ServerResponse> gatewayRouterFunctionsAddReqHeader() {
60-
return route("add_request_parameter_route")
61-
.route(host("{segment}.myhost.org"), http("https://example.org"))
62-
.before(addRequestParameter("foo", "bar-{segment}"))
63-
.build();
64+
public RouterFunction<ServerResponse> gatewayRouterFunctionsAddReqParameter() {
65+
return route("add_request_parameter_route")
66+
.route(host("{segment}.myhost.org"), http())
67+
.before(uri("https://example.org"))
68+
.before(addRequestParameter("foo", "bar-{segment}"))
69+
.build();
6470
}
6571
}
6672
----

docs/modules/ROOT/pages/spring-cloud-gateway-server-mvc/filters/addresponseheader.adoc

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,16 @@ spring:
1414
routes:
1515
- id: add_response_header_route
1616
uri: https://example.org
17+
predicates:
18+
- Path=/anything/addresheader
1719
filters:
1820
- AddResponseHeader=X-Response-Red, Blue
1921
----
2022

2123
.GatewaySampleApplication.java
2224
[source,java]
2325
----
26+
import static org.springframework.cloud.gateway.server.mvc.filter.BeforeFilterFunctions.uri;
2427
import static org.springframework.cloud.gateway.server.mvc.filter.AfterFilterFunctions.addResponseHeader;
2528
import static org.springframework.cloud.gateway.server.mvc.handler.GatewayRouterFunctions.route;
2629
import static org.springframework.cloud.gateway.server.mvc.handler.HandlerFunctions.http;
@@ -30,9 +33,10 @@ class RouteConfiguration {
3033
3134
@Bean
3235
public RouterFunction<ServerResponse> gatewayRouterFunctionsAddRespHeader() {
33-
return route("addresponseheader")
34-
.GET("/anything/addresheader", http("https://example.org"))
35-
.after(addResponseHeader("X-Response-Red", "Blue"))
36+
return route("add_response_header_route")
37+
.GET("/anything/addresheader", http())
38+
.before(uri("https://example.org"))
39+
.after(addResponseHeader("X-Response-Red", "Blue"))
3640
.build();
3741
}
3842
}
@@ -47,6 +51,7 @@ The following example configures an `AddResponseHeader` filter that uses a varia
4751
.GatewaySampleApplication.java
4852
[source,java]
4953
----
54+
import static org.springframework.cloud.gateway.server.mvc.filter.BeforeFilterFunctions.uri;
5055
import static org.springframework.cloud.gateway.server.mvc.filter.AfterFilterFunctions.addResponseHeader;
5156
import static org.springframework.cloud.gateway.server.mvc.handler.GatewayRouterFunctions.route;
5257
import static org.springframework.cloud.gateway.server.mvc.handler.HandlerFunctions.http;
@@ -57,10 +62,11 @@ class RouteConfiguration {
5762
5863
@Bean
5964
public RouterFunction<ServerResponse> gatewayRouterFunctionsAddRespHeader() {
60-
return route("add_response_header_route")
61-
.route(host("{segment}.myhost.org"), http("https://example.org"))
62-
.after(addResponseHeader("foo", "bar-{segment}"))
63-
.build();
65+
return route("add_response_header_route")
66+
.route(host("{segment}.myhost.org"), http())
67+
.before(uri("https://example.org"))
68+
.after(addResponseHeader("foo", "bar-{segment}"))
69+
.build();
6470
}
6571
}
6672
----

docs/modules/ROOT/pages/spring-cloud-gateway-server-mvc/filters/circuitbreaker-filter.adoc

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,17 @@ spring:
1515
gateway:
1616
mvc:
1717
routes:
18-
- id: circuitbreaker_route
18+
- id: circuitbreakernofallback
1919
uri: https://example.org
20+
predicates:
21+
- Path=/anything/circuitbreakernofallback
2022
filters:
2123
- CircuitBreaker=myCircuitBreaker
2224
----
2325
.GatewaySampleApplication.java
2426
[source,java]
2527
----
28+
import static org.springframework.cloud.gateway.server.mvc.filter.BeforeFilterFunctions.uri;
2629
import static org.springframework.cloud.gateway.server.mvc.filter.CircuitBreakerFilterFunctions.circuitBreaker;
2730
import static org.springframework.cloud.gateway.server.mvc.handler.GatewayRouterFunctions.route;
2831
import static org.springframework.cloud.gateway.server.mvc.handler.HandlerFunctions.http;
@@ -33,9 +36,10 @@ class RouteConfiguration {
3336
@Bean
3437
public RouterFunction<ServerResponse> gatewayRouterFunctionsCircuitBreakerNoFallback() {
3538
return route("circuitbreakernofallback")
36-
.route(path("/anything/circuitbreakernofallback"), http("https://example.org"))
37-
.filter(circuitBreaker("mycb3"))
38-
.build();
39+
.route(path("/anything/circuitbreakernofallback"), http())
40+
.before(uri("https://example.org"))
41+
.filter(circuitBreaker("myCircuitBreaker"))
42+
.build();
3943
}
4044
}
4145
----
@@ -74,6 +78,7 @@ The following listing does the same thing in Java:
7478
[source,java]
7579
----
7680
import java.net.URI;
81+
import static org.springframework.cloud.gateway.server.mvc.filter.BeforeFilterFunctions.uri;
7782
import static org.springframework.cloud.gateway.server.mvc.filter.CircuitBreakerFilterFunctions.circuitBreaker;
7883
import static org.springframework.cloud.gateway.server.mvc.handler.GatewayRouterFunctions.route;
7984
import static org.springframework.cloud.gateway.server.mvc.handler.HandlerFunctions.http;
@@ -84,9 +89,10 @@ class RouteConfiguration {
8489
@Bean
8590
public RouterFunction<ServerResponse> gatewayRouterFunctionsCircuitBreakerFallback() {
8691
return route("circuitbreaker_route")
87-
.route(path("/consumingServiceEndpoint"), http("https://example.org"))
88-
.filter(circuitBreaker("myCircuitBreaker", URI.create("forward:/inCaseOfFailureUseThis")))
89-
.build();
92+
.route(path("/consumingServiceEndpoint"), http())
93+
.before(uri("https://example.org"))
94+
.filter(circuitBreaker("myCircuitBreaker", URI.create("forward:/inCaseOfFailureUseThis")))
95+
.build();
9096
}
9197
}
9298
----
@@ -102,6 +108,7 @@ In the example below the call `consumingServiceEndpoint/users/1` will be redirec
102108
[source,java]
103109
----
104110
import java.net.URI;
111+
import static org.springframework.cloud.gateway.server.mvc.filter.BeforeFilterFunctions.uri;
105112
import static org.springframework.cloud.gateway.server.mvc.filter.CircuitBreakerFilterFunctions.circuitBreaker;
106113
import static org.springframework.cloud.gateway.server.mvc.handler.GatewayRouterFunctions.route;
107114
import static org.springframework.cloud.gateway.server.mvc.handler.HandlerFunctions.http;
@@ -112,9 +119,10 @@ class RouteConfiguration {
112119
@Bean
113120
public RouterFunction<ServerResponse> gatewayRouterFunctionsCircuitBreakerFallback() {
114121
return route("circuitbreaker_route")
115-
.route(path("/consumingServiceEndpoint/{*segments}"), http("https://example.org"))
116-
.filter(circuitBreaker("myCircuitBreaker", URI.create("forward:/inCaseOfFailureUseThis/{segments}")))
117-
.build();
122+
.route(path("/consumingServiceEndpoint/{*segments}"), http())
123+
.before(uri("https://example.org"))
124+
.filter(circuitBreaker("myCircuitBreaker", URI.create("forward:/inCaseOfFailureUseThis/{segments}")))
125+
.build();
118126
}
119127
}
120128
----
@@ -126,6 +134,7 @@ However, you can also reroute the request to a controller or handler in an exter
126134
.GatewaySampleApplication.java
127135
[source,java]
128136
----
137+
import static org.springframework.cloud.gateway.server.mvc.filter.BeforeFilterFunctions.uri;
129138
import static org.springframework.cloud.gateway.server.mvc.filter.CircuitBreakerFilterFunctions.circuitBreaker;
130139
import static org.springframework.cloud.gateway.server.mvc.filter.LoadBalancerFilterFunctions.lb;
131140
import static org.springframework.cloud.gateway.server.mvc.handler.GatewayRouterFunctions.route;
@@ -142,7 +151,8 @@ class RouteConfiguration {
142151
.filter(circuitBreaker("fetchIngredients", URI.create("forward:/fallback")))
143152
.build()
144153
.and(route("ingredients-fallback")
145-
.route(path("/fallback"), http("http://localhost:9994"))
154+
.route(path("/fallback"), http())
155+
.before(uri("https://localhost:9994"))
146156
.build());
147157
}
148158
}

docs/modules/ROOT/pages/spring-cloud-gateway-server-mvc/filters/deduperesponseheader.adoc

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,25 +14,28 @@ spring:
1414
routes:
1515
- id: dedupe_response_header_route
1616
uri: https://example.org
17+
predicates:
18+
- Path=/hello
1719
filters:
1820
- DedupeResponseHeader=Access-Control-Allow-Credentials Access-Control-Allow-Origin
1921
----
2022
.GatewaySampleApplication.java
2123
[source,java]
2224
----
2325
import static org.springframework.cloud.gateway.server.mvc.filter.AfterFilterFunctions.dedupeResponseHeader;
26+
import static org.springframework.cloud.gateway.server.mvc.filter.BeforeFilterFunctions.uri;
2427
import static org.springframework.cloud.gateway.server.mvc.handler.GatewayRouterFunctions.route;
2528
import static org.springframework.cloud.gateway.server.mvc.handler.HandlerFunctions.http;
2629
import static org.springframework.web.servlet.function.RequestPredicates.path;
2730
28-
2931
@Configuration
3032
class RouteConfiguration {
3133
3234
@Bean
3335
public RouterFunction<ServerResponse> gatewayRouterFunctionsDedupeResponseHeader() {
3436
return route("dedupe_response_header_route")
35-
.route(path("/hello"), http("https://example.org"))
37+
.route(path("/hello"), http())
38+
.before(uri("https://example.org"))
3639
.after(dedupeResponseHeader("Access-Control-Allow-Credentials Access-Control-Allow-Origin"))
3740
.build();
3841
}

docs/modules/ROOT/pages/spring-cloud-gateway-server-mvc/filters/fallback-headers.adoc

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ spring:
1414
- id: ingredients
1515
uri: lb://ingredients
1616
predicates:
17-
- Path=//ingredients/**
17+
- Path=/ingredients/**
1818
filters:
1919
- name: CircuitBreaker
2020
args:
@@ -33,8 +33,9 @@ spring:
3333
.GatewaySampleApplication.java
3434
[source,java]
3535
----
36-
import static org.springframework.cloud.gateway.server.mvc.filter.CircuitBreakerFilterFunctions.circuitBreaker;
3736
import static org.springframework.cloud.gateway.server.mvc.filter.BeforeFilterFunctions.fallbackHeaders;
37+
import static org.springframework.cloud.gateway.server.mvc.filter.BeforeFilterFunctions.uri;
38+
import static org.springframework.cloud.gateway.server.mvc.filter.CircuitBreakerFilterFunctions.circuitBreaker;
3839
import static org.springframework.cloud.gateway.server.mvc.filter.LoadBalancerFilterFunctions.lb;
3940
import static org.springframework.cloud.gateway.server.mvc.handler.GatewayRouterFunctions.route;
4041
import static org.springframework.cloud.gateway.server.mvc.handler.HandlerFunctions.http;
@@ -50,7 +51,8 @@ class RouteConfiguration {
5051
.filter(circuitBreaker("fetchIngredients", URI.create("forward:/fallback")))
5152
.build()
5253
.and(route("ingredients-fallback")
53-
.route(path("/fallback"), http("http://localhost:9994"))
54+
.route(path("/fallback"), http())
55+
.before(uri("http://localhost:9994"))
5456
.before(fallbackHeaders())
5557
.build());
5658
}

0 commit comments

Comments
 (0)