Skip to content

Commit 0602639

Browse files
committed
Bumping versions
1 parent 6a75caf commit 0602639

File tree

4 files changed

+51
-74
lines changed

4 files changed

+51
-74
lines changed

docs/modules/ROOT/partials/_configprops.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,10 @@
119119
|spring.cloud.gateway.server.webflux.httpserver.wiretap | `+++false+++` | Enables wiretap debugging for Netty HttpServer.
120120
|spring.cloud.gateway.server.webflux.loadbalancer.use404 | `+++false+++` |
121121
|spring.cloud.gateway.server.webflux.metrics.enabled | `+++false+++` | Enables the collection of metrics data.
122+
|spring.cloud.gateway.server.webflux.metrics.path-tags.enabled | `+++false+++` | Enables the gateway path tag provider.
122123
|spring.cloud.gateway.server.webflux.metrics.prefix | `+++spring.cloud.gateway+++` | The prefix of all metrics emitted by gateway.
123124
|spring.cloud.gateway.server.webflux.metrics.tags | | Tags map that added to metrics.
125+
|spring.cloud.gateway.server.webflux.metrics.tags.path.enabled | `+++false+++` | Enables the gateway path tag provider.
124126
|spring.cloud.gateway.server.webflux.observability.enabled | `+++true+++` | If Micrometer Observability support should be turned on.
125127
|spring.cloud.gateway.server.webflux.predicate.after.enabled | `+++true+++` | Enables the after predicate.
126128
|spring.cloud.gateway.server.webflux.predicate.before.enabled | `+++true+++` | Enables the before predicate.

spring-cloud-gateway-server-webflux/src/test/java/org/springframework/cloud/gateway/test/HttpStatusTests.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,7 @@ void normalErrorPageWorks() {
8989
.consumeWith(result -> {
9090
Map<String, Object> body = result.getResponseBody();
9191

92-
assertThat(body)
93-
.hasSizeGreaterThanOrEqualTo(5)
94-
.containsKeys("timestamp", "path", "status", "error");
92+
assertThat(body).hasSizeGreaterThanOrEqualTo(5).containsKeys("timestamp", "path", "status", "error");
9593

9694
assertThat(body.keySet()).containsAnyOf("message", "requestId");
9795
});

spring-cloud-gateway-server-webmvc/src/main/java/org/springframework/cloud/gateway/server/mvc/filter/CircuitBreakerFilterFunctions.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,8 @@ public static HandlerFilterFunction<ServerResponse, ServerResponse> circuitBreak
106106
throw new ResponseStatusException(HttpStatus.GATEWAY_TIMEOUT, throwable.getMessage(),
107107
throwable);
108108
}
109-
// if circuit breaker is open (CallNotPermittedException), raise SERVICE_UNAVAILABLE
109+
// if circuit breaker is open (CallNotPermittedException), raise
110+
// SERVICE_UNAVAILABLE
110111
if (throwable instanceof CallNotPermittedException) {
111112
throw new ResponseStatusException(HttpStatus.SERVICE_UNAVAILABLE, throwable.getMessage(),
112113
throwable);

spring-cloud-gateway-server-webmvc/src/test/java/org/springframework/cloud/gateway/server/mvc/filter/CircuitBreakerFilterFunctionsTests.java

Lines changed: 46 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,8 @@
5656
/**
5757
* @author raccoonback
5858
*/
59-
@SpringBootTest(
60-
properties = { GatewayMvcProperties.PREFIX + ".function.enabled=false" },
61-
webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT
62-
)
59+
@SpringBootTest(properties = { GatewayMvcProperties.PREFIX + ".function.enabled=false" },
60+
webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
6361
@ContextConfiguration(initializers = HttpbinTestcontainers.class)
6462
class CircuitBreakerFilterFunctionsTests {
6563

@@ -80,20 +78,12 @@ void circuitBreakerCallNotPermittedExceptionReturns503() {
8078

8179
@Test
8280
void circuitBreakerTimeoutReturns504() {
83-
restClient.get()
84-
.uri("/circuitbreaker/timeout")
85-
.exchange()
86-
.expectStatus()
87-
.isEqualTo(HttpStatus.GATEWAY_TIMEOUT);
81+
restClient.get().uri("/circuitbreaker/timeout").exchange().expectStatus().isEqualTo(HttpStatus.GATEWAY_TIMEOUT);
8882
}
8983

9084
@Test
9185
void circuitBreakerResumeWithoutErrorReturns200() {
92-
restClient.get()
93-
.uri("/circuitbreaker/resume-without-error")
94-
.exchange()
95-
.expectStatus()
96-
.isOk();
86+
restClient.get().uri("/circuitbreaker/resume-without-error").exchange().expectStatus().isOk();
9787
}
9888

9989
@Test
@@ -121,7 +111,8 @@ void circuitBreakerFallbackWorks() {
121111
.exchange()
122112
.expectStatus()
123113
.isOk()
124-
.expectBody(String.class).isEqualTo("fallback response data");
114+
.expectBody(String.class)
115+
.isEqualTo("fallback response data");
125116
}
126117

127118
@SpringBootConfiguration
@@ -133,73 +124,58 @@ static class TestConfig {
133124
@Bean
134125
public Customizer<Resilience4JCircuitBreakerFactory> circuitBreakerCustomizer() {
135126
return factory -> {
136-
factory.addCircuitBreakerCustomizer(
137-
CircuitBreaker::transitionToForcedOpenState,
138-
"forced-open"
139-
);
140-
141-
factory.configure(
142-
builder -> builder
143-
.timeLimiterConfig(
144-
TimeLimiterConfig.custom()
145-
.timeoutDuration(Duration.ofMillis(500))
146-
.build()
147-
)
148-
.circuitBreakerConfig(CircuitBreakerConfig.ofDefaults()),
149-
"timeout"
150-
);
127+
factory.addCircuitBreakerCustomizer(CircuitBreaker::transitionToForcedOpenState, "forced-open");
128+
129+
factory.configure(builder -> builder
130+
.timeLimiterConfig(TimeLimiterConfig.custom().timeoutDuration(Duration.ofMillis(500)).build())
131+
.circuitBreakerConfig(CircuitBreakerConfig.ofDefaults()), "timeout");
151132
};
152133
}
153134

154135
@Bean
155136
public RouterFunction<ServerResponse> circuitBreakerRoutes() {
156-
return route("circuit_breaker_forced_open")
157-
.route(path("/circuitbreaker/forced-open"), http())
158-
.before(new LocalServerPortUriResolver())
159-
.filter(setPath("/status/200"))
160-
.filter(circuitBreaker("forced-open"))
161-
.build()
137+
return route("circuit_breaker_forced_open").route(path("/circuitbreaker/forced-open"), http())
138+
.before(new LocalServerPortUriResolver())
139+
.filter(setPath("/status/200"))
140+
.filter(circuitBreaker("forced-open"))
141+
.build()
162142

163-
.and(route("circuit_breaker_timeout")
164-
.route(path("/circuitbreaker/timeout"), http())
165-
.before(new LocalServerPortUriResolver())
166-
.filter(setPath("/delay/10"))
167-
.filter(circuitBreaker("timeout"))
168-
.build())
143+
.and(route("circuit_breaker_timeout").route(path("/circuitbreaker/timeout"), http())
144+
.before(new LocalServerPortUriResolver())
145+
.filter(setPath("/delay/10"))
146+
.filter(circuitBreaker("timeout"))
147+
.build())
169148

170149
.and(route("circuit_breaker_resume_without_error")
171-
.route(path("/circuitbreaker/resume-without-error"), http())
172-
.before(new LocalServerPortUriResolver())
173-
.filter(setPath("/status/500"))
174-
.filter(circuitBreaker(config -> config.setId("resume-without-error")
175-
.setResumeWithoutError(true)
176-
.setStatusCodes("500")))
177-
.build())
150+
.route(path("/circuitbreaker/resume-without-error"), http())
151+
.before(new LocalServerPortUriResolver())
152+
.filter(setPath("/status/500"))
153+
.filter(circuitBreaker(config -> config.setId("resume-without-error")
154+
.setResumeWithoutError(true)
155+
.setStatusCodes("500")))
156+
.build())
178157

179158
.and(route("circuit_breaker_resume_without_error_forced_open")
180-
.route(path("/circuitbreaker/resume-without-error-forced-open"), http())
181-
.before(new LocalServerPortUriResolver())
182-
.filter(setPath("/status/200"))
183-
.filter(circuitBreaker(config -> config.setId("forced-open")
184-
.setResumeWithoutError(true)))
185-
.build())
159+
.route(path("/circuitbreaker/resume-without-error-forced-open"), http())
160+
.before(new LocalServerPortUriResolver())
161+
.filter(setPath("/status/200"))
162+
.filter(circuitBreaker(config -> config.setId("forced-open").setResumeWithoutError(true)))
163+
.build())
186164

187165
.and(route("circuit_breaker_resume_without_error_timeout")
188-
.route(path("/circuitbreaker/resume-without-error-timeout"), http())
189-
.before(new LocalServerPortUriResolver())
190-
.filter(setPath("/delay/10"))
191-
.filter(circuitBreaker(config -> config.setId("timeout")
192-
.setResumeWithoutError(true)))
193-
.build())
194-
195-
.and(route("circuit_breaker_with_fallback")
196-
.route(path("/circuitbreaker/with-fallback"), http())
197-
.before(new LocalServerPortUriResolver())
198-
.filter(setPath("/status/500"))
199-
.filter(circuitBreaker(config -> config.setId("fallback")
200-
.setFallbackUri(URI.create("forward:/fallback"))
201-
.setStatusCodes("500")))
202-
.build());
166+
.route(path("/circuitbreaker/resume-without-error-timeout"), http())
167+
.before(new LocalServerPortUriResolver())
168+
.filter(setPath("/delay/10"))
169+
.filter(circuitBreaker(config -> config.setId("timeout").setResumeWithoutError(true)))
170+
.build())
171+
172+
.and(route("circuit_breaker_with_fallback").route(path("/circuitbreaker/with-fallback"), http())
173+
.before(new LocalServerPortUriResolver())
174+
.filter(setPath("/status/500"))
175+
.filter(circuitBreaker(config -> config.setId("fallback")
176+
.setFallbackUri(URI.create("forward:/fallback"))
177+
.setStatusCodes("500")))
178+
.build());
203179
}
204180

205181
@GetMapping("/delay/{seconds}")

0 commit comments

Comments
 (0)