diff --git a/spring-test/src/main/java/org/springframework/test/web/reactive/server/ExchangeResult.java b/spring-test/src/main/java/org/springframework/test/web/reactive/server/ExchangeResult.java index 6da41a7abac..3b4700a8bea 100644 --- a/spring-test/src/main/java/org/springframework/test/web/reactive/server/ExchangeResult.java +++ b/spring-test/src/main/java/org/springframework/test/web/reactive/server/ExchangeResult.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2023 the original author or authors. + * Copyright 2002-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -176,6 +176,16 @@ public class ExchangeResult { return this.response.getStatusCode(); } + /** + * Return the HTTP status code as an integer. + * @since 5.1.10 + * @deprecated in favor of {@link #getStatus()}, for removal in 7.0 + */ + @Deprecated(since = "6.0", forRemoval = true) + public int getRawStatusCode() { + return getStatus().value(); + } + /** * Return the response headers received from the server. */ diff --git a/spring-web/src/main/java/org/springframework/http/client/ClientHttpResponse.java b/spring-web/src/main/java/org/springframework/http/client/ClientHttpResponse.java index 455f2c12f54..b4b90443d4a 100644 --- a/spring-web/src/main/java/org/springframework/http/client/ClientHttpResponse.java +++ b/spring-web/src/main/java/org/springframework/http/client/ClientHttpResponse.java @@ -42,6 +42,19 @@ public interface ClientHttpResponse extends HttpInputMessage, Closeable { */ HttpStatusCode getStatusCode() throws IOException; + /** + * Get the HTTP status code as an integer. + * @return the HTTP status as an integer value + * @throws IOException in case of I/O errors + * @since 3.1.1 + * @see #getStatusCode() + * @deprecated in favor of {@link #getStatusCode()}, for removal in 7.0 + */ + @Deprecated(since = "6.0", forRemoval = true) + default int getRawStatusCode() throws IOException { + return getStatusCode().value(); + } + /** * Get the HTTP status text of the response. * @return the HTTP status text diff --git a/spring-web/src/main/java/org/springframework/http/client/reactive/ClientHttpResponse.java b/spring-web/src/main/java/org/springframework/http/client/reactive/ClientHttpResponse.java index f4c022e8be1..f031558d9ba 100644 --- a/spring-web/src/main/java/org/springframework/http/client/reactive/ClientHttpResponse.java +++ b/spring-web/src/main/java/org/springframework/http/client/reactive/ClientHttpResponse.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2023 the original author or authors. + * Copyright 2002-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -46,6 +46,18 @@ public interface ClientHttpResponse extends ReactiveHttpInputMessage { */ HttpStatusCode getStatusCode(); + /** + * Return the HTTP status code as an integer. + * @return the HTTP status as an integer value + * @since 5.0.6 + * @see #getStatusCode() + * @deprecated in favor of {@link #getStatusCode()}, for removal in 7.0 + */ + @Deprecated(since = "6.0", forRemoval = true) + default int getRawStatusCode() { + return getStatusCode().value(); + } + /** * Return a read-only map of response cookies received from the server. */ diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/AbstractServerHttpResponse.java b/spring-web/src/main/java/org/springframework/http/server/reactive/AbstractServerHttpResponse.java index 7a06126ce85..fa15f6d5220 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/AbstractServerHttpResponse.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/AbstractServerHttpResponse.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2023 the original author or authors. + * Copyright 2002-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -115,13 +115,6 @@ public abstract class AbstractServerHttpResponse implements ServerHttpResponse { return setStatusCode(statusCode != null ? HttpStatusCode.valueOf(statusCode) : null); } - @Deprecated - @Override - @Nullable - public Integer getRawStatusCode() { - return (this.statusCode != null ? this.statusCode.value() : null); - } - @Override public HttpHeaders getHeaders() { if (this.readOnlyHeaders != null) { diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/ReactorNetty2ServerHttpResponse.java b/spring-web/src/main/java/org/springframework/http/server/reactive/ReactorNetty2ServerHttpResponse.java index 1788c72ce7e..0e8c6c68b1d 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/ReactorNetty2ServerHttpResponse.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/ReactorNetty2ServerHttpResponse.java @@ -78,6 +78,7 @@ class ReactorNetty2ServerHttpResponse extends AbstractServerHttpResponse impleme @Override @Deprecated + @SuppressWarnings("removal") public Integer getRawStatusCode() { Integer status = super.getRawStatusCode(); return (status != null ? status : this.response.status().code()); diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/ReactorServerHttpResponse.java b/spring-web/src/main/java/org/springframework/http/server/reactive/ReactorServerHttpResponse.java index b75ae051ed4..359629ff75d 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/ReactorServerHttpResponse.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/ReactorServerHttpResponse.java @@ -77,6 +77,7 @@ class ReactorServerHttpResponse extends AbstractServerHttpResponse implements Ze @Override @Deprecated + @SuppressWarnings("removal") public Integer getRawStatusCode() { Integer status = super.getRawStatusCode(); return (status != null ? status : this.response.status().code()); diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/ServerHttpResponse.java b/spring-web/src/main/java/org/springframework/http/server/reactive/ServerHttpResponse.java index 7f97d04484a..f3af2a0ceb4 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/ServerHttpResponse.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/ServerHttpResponse.java @@ -65,9 +65,9 @@ public interface ServerHttpResponse extends ReactiveHttpOutputMessage { * status of the response from the underlying server. The return value may * be {@code null} if there is no default value from the underlying server. * @since 5.2.4 - * @deprecated as of 6.0, in favor of {@link #getStatusCode()} + * @deprecated in favor of {@link #getStatusCode()}, for removal in 7.0 */ - @Deprecated(since = "6.0") + @Deprecated(since = "6.0", forRemoval = true) @Nullable default Integer getRawStatusCode() { HttpStatusCode httpStatus = getStatusCode(); diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/ServerHttpResponseDecorator.java b/spring-web/src/main/java/org/springframework/http/server/reactive/ServerHttpResponseDecorator.java index d6f7f85b953..4a15989648d 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/ServerHttpResponseDecorator.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/ServerHttpResponseDecorator.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -74,6 +74,7 @@ public class ServerHttpResponseDecorator implements ServerHttpResponse { @Override @Nullable @Deprecated + @SuppressWarnings("removal") public Integer getRawStatusCode() { return getDelegate().getRawStatusCode(); } diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/ServletServerHttpResponse.java b/spring-web/src/main/java/org/springframework/http/server/reactive/ServletServerHttpResponse.java index ee96c9143a6..f77b09569a8 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/ServletServerHttpResponse.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/ServletServerHttpResponse.java @@ -112,6 +112,7 @@ class ServletServerHttpResponse extends AbstractListenerServerHttpResponse { @Override @Deprecated + @SuppressWarnings("removal") public Integer getRawStatusCode() { Integer status = super.getRawStatusCode(); return (status != null ? status : this.response.getStatus()); diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpResponse.java b/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpResponse.java index e4382da2a0e..9de01ff320e 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpResponse.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpResponse.java @@ -89,6 +89,7 @@ class UndertowServerHttpResponse extends AbstractListenerServerHttpResponse impl @Override @Deprecated + @SuppressWarnings("removal") public Integer getRawStatusCode() { Integer status = super.getRawStatusCode(); return (status != null ? status : this.exchange.getStatusCode()); diff --git a/spring-web/src/main/java/org/springframework/web/client/RestClientResponseException.java b/spring-web/src/main/java/org/springframework/web/client/RestClientResponseException.java index 48cae5ca78f..ed0998061cd 100644 --- a/spring-web/src/main/java/org/springframework/web/client/RestClientResponseException.java +++ b/spring-web/src/main/java/org/springframework/web/client/RestClientResponseException.java @@ -125,7 +125,7 @@ public class RestClientResponseException extends RestClientException { /** * Return the raw HTTP status code value. - * @deprecated as of 6.0, in favor of {@link #getStatusCode()} + * @deprecated in favor of {@link #getStatusCode()}, for removal in 7.0 */ @Deprecated(since = "6.0") public int getRawStatusCode() { diff --git a/spring-web/src/main/java/org/springframework/web/client/UnknownContentTypeException.java b/spring-web/src/main/java/org/springframework/web/client/UnknownContentTypeException.java index 8cb873edf4e..df9a7b36705 100644 --- a/spring-web/src/main/java/org/springframework/web/client/UnknownContentTypeException.java +++ b/spring-web/src/main/java/org/springframework/web/client/UnknownContentTypeException.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2023 the original author or authors. + * Copyright 2002-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -113,7 +113,7 @@ public class UnknownContentTypeException extends RestClientException { /** * Return the raw HTTP status code value. - * @deprecated as of 6.0, in favor of {@link #getStatusCode()} + * @deprecated in favor of {@link #getStatusCode()}, for removal in 7.0 */ @Deprecated(since = "6.0") public int getRawStatusCode() { diff --git a/spring-web/src/main/java/org/springframework/web/server/handler/ResponseStatusExceptionHandler.java b/spring-web/src/main/java/org/springframework/web/server/handler/ResponseStatusExceptionHandler.java index e5d17180413..54dce91f405 100644 --- a/spring-web/src/main/java/org/springframework/web/server/handler/ResponseStatusExceptionHandler.java +++ b/spring-web/src/main/java/org/springframework/web/server/handler/ResponseStatusExceptionHandler.java @@ -132,9 +132,9 @@ public class ResponseStatusExceptionHandler implements WebExceptionHandler { * @param ex the exception to check * @return the associated HTTP status code, or -1 if it can't be derived. * @since 5.3 - * @deprecated as of 6.0, in favor of {@link #determineStatus(Throwable)} + * @deprecated in favor of {@link #determineStatus(Throwable)}, for removal in 7.0 */ - @Deprecated(since = "6.0") + @Deprecated(since = "6.0", forRemoval = true) protected int determineRawStatusCode(Throwable ex) { if (ex instanceof ResponseStatusException responseStatusException) { return responseStatusException.getStatusCode().value(); diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ClientResponse.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ClientResponse.java index f5ca0ef2408..d82d0e50b0d 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ClientResponse.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ClientResponse.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2023 the original author or authors. + * Copyright 2002-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -57,6 +57,17 @@ public interface ClientResponse { */ HttpStatusCode statusCode(); + /** + * Return the raw status code of this response. + * @return the HTTP status as an integer value + * @since 5.1 + * @deprecated in favor of {@link #statusCode()}, for removal in 7.0 + */ + @Deprecated(since = "6.0", forRemoval = true) + default int rawStatusCode() { + return statusCode().value(); + } + /** * Return the headers of this response. */ diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/WebClient.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/WebClient.java index ffb454b7626..ce4ef3d54cc 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/WebClient.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/WebClient.java @@ -824,7 +824,7 @@ public interface WebClient { * .retrieve() * .bodyToMono(Account.class) * .onErrorResume(WebClientResponseException.class, - * ex -> ex.getRawStatusCode() == 404 ? Mono.empty() : Mono.error(ex)); + * ex -> ex.getStatusCode().value() == 404 ? Mono.empty() : Mono.error(ex)); * * @param statusPredicate to match responses with * @param exceptionFunction to map the response to an error signal diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/WebClientResponseException.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/WebClientResponseException.java index 4a5310d3a57..6188c45a207 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/WebClientResponseException.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/WebClientResponseException.java @@ -172,7 +172,7 @@ public class WebClientResponseException extends WebClientException { /** * Return the raw HTTP status code value. - * @deprecated as of 6.0, in favor of {@link #getStatusCode()} + * @deprecated in favor of {@link #getStatusCode()}, for removal in 7.0 */ @Deprecated(since = "6.0") public int getRawStatusCode() { diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/DefaultServerResponseBuilder.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/DefaultServerResponseBuilder.java index 9f0df3b736d..d880959a564 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/DefaultServerResponseBuilder.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/DefaultServerResponseBuilder.java @@ -328,6 +328,7 @@ class DefaultServerResponseBuilder implements ServerResponse.BodyBuilder { @Override @Deprecated + @SuppressWarnings("removal") public int rawStatusCode() { return this.statusCode.value(); } diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/ServerResponse.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/ServerResponse.java index f10d770ad2f..e676974c2a7 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/ServerResponse.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/ServerResponse.java @@ -70,9 +70,9 @@ public interface ServerResponse { * Return the status code of this response as integer. * @return the status as an integer * @since 5.2 - * @deprecated as of 6.0, in favor of {@link #statusCode()} + * @deprecated in favor of {@link #statusCode()}, for removal in 7.0 */ - @Deprecated(since = "6.0") + @Deprecated(since = "6.0", forRemoval = true) int rawStatusCode(); /** diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/DefaultEntityResponseBuilderTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/DefaultEntityResponseBuilderTests.java index 12caa854fb4..19fae58ebd0 100644 --- a/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/DefaultEntityResponseBuilderTests.java +++ b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/DefaultEntityResponseBuilderTests.java @@ -84,7 +84,7 @@ class DefaultEntityResponseBuilderTests { } @Test - @SuppressWarnings("deprecation") + @SuppressWarnings("removal") void status() { String body = "foo"; Mono> result = EntityResponse.fromObject(body).status(HttpStatus.CREATED).build(); diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/DefaultServerResponseBuilderTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/DefaultServerResponseBuilderTests.java index 86d62e3be78..f529cf0f10f 100644 --- a/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/DefaultServerResponseBuilderTests.java +++ b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/DefaultServerResponseBuilderTests.java @@ -80,7 +80,7 @@ class DefaultServerResponseBuilderTests { } @Test - @SuppressWarnings("deprecation") + @SuppressWarnings("removal") void status() { Mono result = ServerResponse.status(HttpStatus.CREATED).build(); StepVerifier.create(result) diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/RouterFunctionsTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/RouterFunctionsTests.java index 82d9b9d3992..9cb1fd89eba 100644 --- a/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/RouterFunctionsTests.java +++ b/spring-webflux/src/test/java/org/springframework/web/reactive/function/server/RouterFunctionsTests.java @@ -223,7 +223,7 @@ class RouterFunctionsTests { public HttpStatus statusCode() { return HttpStatus.OK; } - @SuppressWarnings("deprecation") + @SuppressWarnings("removal") @Override public int rawStatusCode() { return 200; @@ -262,7 +262,7 @@ class RouterFunctionsTests { public HttpStatus statusCode() { return HttpStatus.OK; } - @SuppressWarnings("deprecation") + @SuppressWarnings("removal") @Override public int rawStatusCode() { return 200; diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/function/AbstractServerResponse.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/function/AbstractServerResponse.java index 704ae1798a7..52f9a26cb59 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/function/AbstractServerResponse.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/function/AbstractServerResponse.java @@ -67,6 +67,7 @@ abstract class AbstractServerResponse extends ErrorHandlingServerResponse { @Override @Deprecated + @SuppressWarnings("removal") public int rawStatusCode() { return this.statusCode.value(); } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/function/CompletedAsyncServerResponse.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/function/CompletedAsyncServerResponse.java index 676ab9a2126..8f470e8d6fa 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/function/CompletedAsyncServerResponse.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/function/CompletedAsyncServerResponse.java @@ -58,6 +58,7 @@ final class CompletedAsyncServerResponse implements AsyncServerResponse { @Override @Deprecated + @SuppressWarnings("removal") public int rawStatusCode() { return this.serverResponse.rawStatusCode(); } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/function/DefaultAsyncServerResponse.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/function/DefaultAsyncServerResponse.java index a26d774d3c7..c00116f7fb3 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/function/DefaultAsyncServerResponse.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/function/DefaultAsyncServerResponse.java @@ -85,6 +85,7 @@ final class DefaultAsyncServerResponse extends ErrorHandlingServerResponse imple @Override @Deprecated + @SuppressWarnings("removal") public int rawStatusCode() { return delegate(ServerResponse::rawStatusCode); } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/function/ServerResponse.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/function/ServerResponse.java index 26dbd6a31ab..ede9aceb212 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/function/ServerResponse.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/function/ServerResponse.java @@ -68,9 +68,9 @@ public interface ServerResponse { /** * Return the status code of this response as integer. * @return the status as an integer - * @deprecated as of 6.0, in favor of {@link #statusCode()} + * @deprecated in favor of {@link #statusCode()}, for removal in 7.0 */ - @Deprecated(since = "6.0") + @Deprecated(since = "6.0", forRemoval = true) int rawStatusCode(); /** diff --git a/spring-webmvc/src/test/java/org/springframework/web/servlet/function/DefaultEntityResponseBuilderTests.java b/spring-webmvc/src/test/java/org/springframework/web/servlet/function/DefaultEntityResponseBuilderTests.java index 08cf765c11c..03f7278f17e 100644 --- a/spring-webmvc/src/test/java/org/springframework/web/servlet/function/DefaultEntityResponseBuilderTests.java +++ b/spring-webmvc/src/test/java/org/springframework/web/servlet/function/DefaultEntityResponseBuilderTests.java @@ -66,7 +66,7 @@ class DefaultEntityResponseBuilderTests { } @Test - @SuppressWarnings("deprecation") + @SuppressWarnings("removal") void status() { String body = "foo"; EntityResponse result = diff --git a/spring-webmvc/src/test/java/org/springframework/web/servlet/function/DefaultServerResponseBuilderTests.java b/spring-webmvc/src/test/java/org/springframework/web/servlet/function/DefaultServerResponseBuilderTests.java index a5e05a76d1c..965a8233d14 100644 --- a/spring-webmvc/src/test/java/org/springframework/web/servlet/function/DefaultServerResponseBuilderTests.java +++ b/spring-webmvc/src/test/java/org/springframework/web/servlet/function/DefaultServerResponseBuilderTests.java @@ -55,7 +55,7 @@ class DefaultServerResponseBuilderTests { static final ServerResponse.Context EMPTY_CONTEXT = Collections::emptyList; @Test - @SuppressWarnings("deprecation") + @SuppressWarnings("removal") void status() { ServerResponse response = ServerResponse.status(HttpStatus.CREATED).build(); assertThat(response.statusCode()).isEqualTo(HttpStatus.CREATED);