From c2f0b1042ef6aaf2f3d546626afd235109fceeca Mon Sep 17 00:00:00 2001 From: "Bryce J. Fisher" Date: Wed, 29 Jan 2025 17:38:02 -0700 Subject: [PATCH] chore: Update constructor references with backedBy method. Signed-off-by: Bryce J. Fisher --- .../src/main/java/org/springframework/http/HttpHeaders.java | 6 ++++-- .../java/org/springframework/http/ReadOnlyHttpHeaders.java | 2 +- .../http/codec/multipart/PartHttpMessageWriter.java | 2 +- .../http/server/reactive/JettyCoreServerHttpRequest.java | 2 +- .../http/server/reactive/JettyCoreServerHttpResponse.java | 2 +- .../server/reactive/ReactorNetty2ServerHttpRequest.java | 2 +- .../server/reactive/ReactorNetty2ServerHttpResponse.java | 2 +- .../http/server/reactive/ReactorServerHttpRequest.java | 2 +- .../http/server/reactive/ReactorServerHttpResponse.java | 2 +- .../http/server/reactive/ServletServerHttpRequest.java | 4 ++-- .../http/server/reactive/TomcatHttpHandlerAdapter.java | 4 ++-- .../http/server/reactive/UndertowServerHttpRequest.java | 2 +- .../http/server/reactive/UndertowServerHttpResponse.java | 2 +- 13 files changed, 18 insertions(+), 16 deletions(-) diff --git a/spring-web/src/main/java/org/springframework/http/HttpHeaders.java b/spring-web/src/main/java/org/springframework/http/HttpHeaders.java index bdeb2bb3449d..def39963ea08 100644 --- a/spring-web/src/main/java/org/springframework/http/HttpHeaders.java +++ b/spring-web/src/main/java/org/springframework/http/HttpHeaders.java @@ -452,7 +452,7 @@ public HttpHeaders() { * headers map structures, primarily for internal use within the framework. * @param headers the headers map (expected to operate with case-insensitive keys) * @since 5.1 - * @deprecated Will be made private in favor of {@link #backedBy(MultiValueMap)} in a future release. + * @deprecated Will be made default visibility in favor of {@link #backedBy(MultiValueMap)} in a future release. */ @Deprecated public HttpHeaders(MultiValueMap headers) { @@ -501,6 +501,7 @@ public HttpHeaders(HttpHeaders httpHeaders) { * headers map structures, primarily for internal use within the framework. * @param headers the headers map (expected to operate with case-insensitive keys) */ + @SuppressWarnings("deprecation") // @Deprecated wll be removed when visibility is changed. public static HttpHeaders backedBy(MultiValueMap headers) { return new HttpHeaders(headers); } @@ -513,8 +514,9 @@ public static HttpHeaders backedBy(MultiValueMap headers) { * likely to be out of sync and should be discarded. * @param httpHeaders the headers to expose */ + @SuppressWarnings("deprecation") // @Deprecated wll be removed when visibility is changed. public static HttpHeaders backedBy(HttpHeaders httpHeaders) { - return backedBy(httpHeaders.headers); + return new HttpHeaders(httpHeaders); } /** diff --git a/spring-web/src/main/java/org/springframework/http/ReadOnlyHttpHeaders.java b/spring-web/src/main/java/org/springframework/http/ReadOnlyHttpHeaders.java index bcbc598b9eb7..27f5a6c43853 100644 --- a/spring-web/src/main/java/org/springframework/http/ReadOnlyHttpHeaders.java +++ b/spring-web/src/main/java/org/springframework/http/ReadOnlyHttpHeaders.java @@ -50,7 +50,7 @@ class ReadOnlyHttpHeaders extends HttpHeaders { @SuppressWarnings("serial") private @Nullable List cachedAccept; - + @SuppressWarnings("deprecation") // @Deprecated wll be removed when visibility is changed. ReadOnlyHttpHeaders(MultiValueMap headers) { super(headers); } diff --git a/spring-web/src/main/java/org/springframework/http/codec/multipart/PartHttpMessageWriter.java b/spring-web/src/main/java/org/springframework/http/codec/multipart/PartHttpMessageWriter.java index fe33e3b2114c..103838ca4cab 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/multipart/PartHttpMessageWriter.java +++ b/spring-web/src/main/java/org/springframework/http/codec/multipart/PartHttpMessageWriter.java @@ -91,7 +91,7 @@ public Mono write(Publisher parts, } private Flux encodePart(byte[] boundary, Part part, DataBufferFactory bufferFactory) { - HttpHeaders headers = new HttpHeaders(part.headers()); + HttpHeaders headers = HttpHeaders.backedBy(part.headers()); String name = part.name(); if (!headers.containsHeader(HttpHeaders.CONTENT_DISPOSITION)) { diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/JettyCoreServerHttpRequest.java b/spring-web/src/main/java/org/springframework/http/server/reactive/JettyCoreServerHttpRequest.java index a43730b8b445..8ddfe704e3af 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/JettyCoreServerHttpRequest.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/JettyCoreServerHttpRequest.java @@ -56,7 +56,7 @@ public JettyCoreServerHttpRequest(Request request, JettyDataBufferFactory dataBu super(HttpMethod.valueOf(request.getMethod()), request.getHttpURI().toURI(), request.getContext().getContextPath(), - new HttpHeaders(new JettyHeadersAdapter(request.getHeaders()))); + HttpHeaders.backedBy(new JettyHeadersAdapter(request.getHeaders()))); this.dataBufferFactory = dataBufferFactory; this.request = request; } diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/JettyCoreServerHttpResponse.java b/spring-web/src/main/java/org/springframework/http/server/reactive/JettyCoreServerHttpResponse.java index dc319c186201..33974018300a 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/JettyCoreServerHttpResponse.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/JettyCoreServerHttpResponse.java @@ -56,7 +56,7 @@ class JettyCoreServerHttpResponse extends AbstractServerHttpResponse implements public JettyCoreServerHttpResponse(Response response, JettyDataBufferFactory dataBufferFactory) { - super(dataBufferFactory, new HttpHeaders(new JettyHeadersAdapter(response.getHeaders()))); + super(dataBufferFactory, HttpHeaders.backedBy(new JettyHeadersAdapter(response.getHeaders()))); this.response = response; // remove all existing cookies from the response and add them to the cookie map, to be added back later diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/ReactorNetty2ServerHttpRequest.java b/spring-web/src/main/java/org/springframework/http/server/reactive/ReactorNetty2ServerHttpRequest.java index 833e67aaa0e4..5e4d4af696cb 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/ReactorNetty2ServerHttpRequest.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/ReactorNetty2ServerHttpRequest.java @@ -71,7 +71,7 @@ public ReactorNetty2ServerHttpRequest(HttpServerRequest request, Netty5DataBuffe throws URISyntaxException { super(HttpMethod.valueOf(request.method().name()), initUri(request), "", - new HttpHeaders(new Netty5HeadersAdapter(request.requestHeaders()))); + HttpHeaders.backedBy(new Netty5HeadersAdapter(request.requestHeaders()))); Assert.notNull(bufferFactory, "DataBufferFactory must not be null"); this.request = request; this.bufferFactory = bufferFactory; 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 3d89eaad7a44..45789db8e8b8 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 @@ -58,7 +58,7 @@ class ReactorNetty2ServerHttpResponse extends AbstractServerHttpResponse impleme public ReactorNetty2ServerHttpResponse(HttpServerResponse response, DataBufferFactory bufferFactory) { - super(bufferFactory, new HttpHeaders(new Netty5HeadersAdapter(response.responseHeaders()))); + super(bufferFactory, HttpHeaders.backedBy(new Netty5HeadersAdapter(response.responseHeaders()))); Assert.notNull(response, "HttpServerResponse must not be null"); this.response = response; } diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/ReactorServerHttpRequest.java b/spring-web/src/main/java/org/springframework/http/server/reactive/ReactorServerHttpRequest.java index 53715fb2489d..2a42c6f4cefe 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/ReactorServerHttpRequest.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/ReactorServerHttpRequest.java @@ -68,7 +68,7 @@ public ReactorServerHttpRequest(HttpServerRequest request, NettyDataBufferFactor super(HttpMethod.valueOf(request.method().name()), ReactorUriHelper.createUri(request), request.forwardedPrefix(), - new HttpHeaders(new Netty4HeadersAdapter(request.requestHeaders()))); + HttpHeaders.backedBy(new Netty4HeadersAdapter(request.requestHeaders()))); Assert.notNull(bufferFactory, "DataBufferFactory must not be null"); this.request = request; this.bufferFactory = bufferFactory; 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 d0f8cea29ef9..f7aed1d21148 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 @@ -57,7 +57,7 @@ class ReactorServerHttpResponse extends AbstractServerHttpResponse implements Ze public ReactorServerHttpResponse(HttpServerResponse response, DataBufferFactory bufferFactory) { - super(bufferFactory, new HttpHeaders(new Netty4HeadersAdapter(Objects.requireNonNull(response, + super(bufferFactory, HttpHeaders.backedBy(new Netty4HeadersAdapter(Objects.requireNonNull(response, "HttpServerResponse must not be null").responseHeaders()))); this.response = response; } diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/ServletServerHttpRequest.java b/spring-web/src/main/java/org/springframework/http/server/reactive/ServletServerHttpRequest.java index b4d59361895f..011430fd8ab3 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/ServletServerHttpRequest.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/ServletServerHttpRequest.java @@ -168,7 +168,7 @@ private static HttpHeaders initHeaders(HttpHeaders headerValues, HttpServletRequ String requestContentType = request.getContentType(); if (StringUtils.hasLength(requestContentType)) { contentType = MediaType.parseMediaType(requestContentType); - headers = new HttpHeaders(headerValues); + headers = HttpHeaders.backedBy(headerValues); headers.setContentType(contentType); } } @@ -184,7 +184,7 @@ private static HttpHeaders initHeaders(HttpHeaders headerValues, HttpServletRequ if (headerValues.getFirst(HttpHeaders.CONTENT_TYPE) == null) { int contentLength = request.getContentLength(); if (contentLength != -1) { - headers = (headers != null ? headers : new HttpHeaders(headerValues)); + headers = (headers != null ? headers : HttpHeaders.backedBy(headerValues)); headers.setContentLength(contentLength); } } diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/TomcatHttpHandlerAdapter.java b/spring-web/src/main/java/org/springframework/http/server/reactive/TomcatHttpHandlerAdapter.java index 6fd3af0148d5..c5c018e11667 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/TomcatHttpHandlerAdapter.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/TomcatHttpHandlerAdapter.java @@ -96,7 +96,7 @@ private static HttpHeaders createTomcatHttpHeaders(HttpServletRequest request) { ReflectionUtils.getField(COYOTE_REQUEST_FIELD, requestFacade); Assert.state(connectorRequest != null, "No Tomcat connector request"); Request tomcatRequest = connectorRequest.getCoyoteRequest(); - return new HttpHeaders(new TomcatHeadersAdapter(tomcatRequest.getMimeHeaders())); + return HttpHeaders.backedBy(new TomcatHeadersAdapter(tomcatRequest.getMimeHeaders())); } private static RequestFacade getRequestFacade(HttpServletRequest request) { @@ -140,7 +140,7 @@ private static HttpHeaders createTomcatHttpHeaders(HttpServletResponse response) Assert.state(connectorResponse != null, "No Tomcat connector response"); Response tomcatResponse = connectorResponse.getCoyoteResponse(); TomcatHeadersAdapter headers = new TomcatHeadersAdapter(tomcatResponse.getMimeHeaders()); - return new HttpHeaders(headers); + return HttpHeaders.backedBy(headers); } private static ResponseFacade getResponseFacade(HttpServletResponse response) { diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpRequest.java b/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpRequest.java index e1c6494fe670..b3f96a533d86 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpRequest.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpRequest.java @@ -66,7 +66,7 @@ public UndertowServerHttpRequest(HttpServerExchange exchange, DataBufferFactory throws URISyntaxException { super(HttpMethod.valueOf(exchange.getRequestMethod().toString()), initUri(exchange), "", - new HttpHeaders(new UndertowHeadersAdapter(exchange.getRequestHeaders()))); + HttpHeaders.backedBy(new UndertowHeadersAdapter(exchange.getRequestHeaders()))); this.exchange = exchange; this.body = new RequestBodyPublisher(exchange, bufferFactory); this.body.registerListeners(exchange); 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 1a3f0f9ca448..1db025f339ee 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 @@ -70,7 +70,7 @@ class UndertowServerHttpResponse extends AbstractListenerServerHttpResponse impl private static HttpHeaders createHeaders(HttpServerExchange exchange) { Assert.notNull(exchange, "HttpServerExchange must not be null"); UndertowHeadersAdapter headersMap = new UndertowHeadersAdapter(exchange.getResponseHeaders()); - return new HttpHeaders(headersMap); + return HttpHeaders.backedBy(headersMap); }