Skip to content

Commit 1721aec

Browse files
izeyesnicoll
authored andcommitted
Use ServerHttpResponse.getRawStatusCode() in WebFluxTags
See gh-19987
1 parent 8f61a4b commit 1721aec

File tree

2 files changed

+6
-9
lines changed
  • spring-boot-project/spring-boot-actuator/src

2 files changed

+6
-9
lines changed

spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/web/reactive/server/WebFluxTags.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222

2323
import org.springframework.boot.actuate.metrics.http.Outcome;
2424
import org.springframework.http.HttpStatus;
25-
import org.springframework.http.server.reactive.AbstractServerHttpResponse;
2625
import org.springframework.http.server.reactive.ServerHttpResponse;
2726
import org.springframework.util.StringUtils;
2827
import org.springframework.web.reactive.HandlerMapping;
@@ -164,11 +163,9 @@ public static Tag outcome(ServerWebExchange exchange) {
164163

165164
private static Integer extractStatusCode(ServerWebExchange exchange) {
166165
ServerHttpResponse response = exchange.getResponse();
167-
if (response instanceof AbstractServerHttpResponse) {
168-
Integer statusCode = ((AbstractServerHttpResponse) response).getStatusCodeValue();
169-
if (statusCode != null) {
170-
return statusCode;
171-
}
166+
Integer statusCode = response.getRawStatusCode();
167+
if (statusCode != null) {
168+
return statusCode;
172169
}
173170
HttpStatus status = response.getStatusCode();
174171
return (status != null) ? status.value() : null;

spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/web/reactive/server/WebFluxTagsTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
import org.junit.jupiter.api.Test;
2222

2323
import org.springframework.http.HttpStatus;
24-
import org.springframework.http.server.reactive.AbstractServerHttpResponse;
2524
import org.springframework.http.server.reactive.ServerHttpRequest;
25+
import org.springframework.http.server.reactive.ServerHttpResponse;
2626
import org.springframework.mock.http.server.reactive.MockServerHttpRequest;
2727
import org.springframework.mock.web.server.MockServerWebExchange;
2828
import org.springframework.web.reactive.HandlerMapping;
@@ -123,9 +123,9 @@ void outcomeTagIsSuccessWhenResponseStatusIsNull() {
123123
void outcomeTagIsSuccessWhenResponseStatusIsAvailableFromUnderlyingServer() {
124124
ServerWebExchange exchange = mock(ServerWebExchange.class);
125125
ServerHttpRequest request = mock(ServerHttpRequest.class);
126-
AbstractServerHttpResponse response = mock(AbstractServerHttpResponse.class);
126+
ServerHttpResponse response = mock(ServerHttpResponse.class);
127127
given(response.getStatusCode()).willReturn(HttpStatus.OK);
128-
given(response.getStatusCodeValue()).willReturn(null);
128+
given(response.getRawStatusCode()).willReturn(null);
129129
given(exchange.getRequest()).willReturn(request);
130130
given(exchange.getResponse()).willReturn(response);
131131
Tag tag = WebFluxTags.outcome(exchange);

0 commit comments

Comments
 (0)