Deprecate StreamUtils.emptyInput()

Closes gh-29125
This commit is contained in:
Brian Clozel
2022-09-09 22:43:40 +02:00
parent d4a74c8f9d
commit 0770d86936
14 changed files with 29 additions and 34 deletions

View File

@@ -28,7 +28,6 @@ import org.apache.http.util.EntityUtils;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatusCode;
import org.springframework.lang.Nullable;
import org.springframework.util.StreamUtils;
/**
* {@link ClientHttpResponse} implementation based on
@@ -84,7 +83,7 @@ final class HttpComponentsClientHttpResponse implements ClientHttpResponse {
@Override
public InputStream getBody() throws IOException {
HttpEntity entity = this.httpResponse.getEntity();
return (entity != null ? entity.getContent() : StreamUtils.emptyInput());
return (entity != null ? entity.getContent() : InputStream.nullInputStream());
}
@Override

View File

@@ -26,7 +26,6 @@ import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatusCode;
import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
import org.springframework.util.StreamUtils;
/**
* {@link ClientHttpResponse} implementation based on OkHttp 3.x.
@@ -69,7 +68,7 @@ class OkHttp3ClientHttpResponse implements ClientHttpResponse {
@Override
public InputStream getBody() throws IOException {
ResponseBody body = this.response.body();
return (body != null ? body.byteStream() : StreamUtils.emptyInput());
return (body != null ? body.byteStream() : InputStream.nullInputStream());
}
@Override

View File

@@ -73,7 +73,7 @@ public class SourceHttpMessageConverter<T extends Source> extends AbstractHttpMe
(publicId, systemId) -> new InputSource(new StringReader(""));
private static final XMLResolver NO_OP_XML_RESOLVER =
(publicID, systemID, base, ns) -> StreamUtils.emptyInput();
(publicID, systemID, base, ns) -> InputStream.nullInputStream();
private static final Set<Class<?>> SUPPORTED_CLASSES = new HashSet<>(8);

View File

@@ -18,6 +18,7 @@ package org.springframework.web.client;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
import java.util.Arrays;
import java.util.Collections;
@@ -52,7 +53,6 @@ import org.springframework.http.converter.GenericHttpMessageConverter;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.KotlinSerializationJsonHttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.util.StreamUtils;
import org.springframework.web.util.DefaultUriBuilderFactory;
import static org.assertj.core.api.Assertions.assertThat;
@@ -284,7 +284,7 @@ class RestTemplateTests {
mockSentRequest(GET, "https://example.com/hotels/1/pic/pics%2Flogo.png/size/150x150");
mockResponseStatus(HttpStatus.OK);
given(response.getHeaders()).willReturn(new HttpHeaders());
given(response.getBody()).willReturn(StreamUtils.emptyInput());
given(response.getBody()).willReturn(InputStream.nullInputStream());
Map<String, String> uriVariables = new HashMap<>(2);
uriVariables.put("hotel", "1");
@@ -440,7 +440,7 @@ class RestTemplateTests {
responseHeaders.setContentType(MediaType.TEXT_PLAIN);
responseHeaders.setContentLength(10);
given(response.getHeaders()).willReturn(responseHeaders);
given(response.getBody()).willReturn(StreamUtils.emptyInput());
given(response.getBody()).willReturn(InputStream.nullInputStream());
given(converter.read(String.class, response)).willReturn(null);
String result = template.postForObject("https://example.com", null, String.class);
@@ -460,7 +460,7 @@ class RestTemplateTests {
responseHeaders.setContentType(MediaType.TEXT_PLAIN);
responseHeaders.setContentLength(10);
given(response.getHeaders()).willReturn(responseHeaders);
given(response.getBody()).willReturn(StreamUtils.emptyInput());
given(response.getBody()).willReturn(InputStream.nullInputStream());
given(converter.read(String.class, response)).willReturn(null);
ResponseEntity<String> result = template.postForEntity("https://example.com", null, String.class);
@@ -556,7 +556,7 @@ class RestTemplateTests {
responseHeaders.setContentType(MediaType.TEXT_PLAIN);
responseHeaders.setContentLength(10);
given(response.getHeaders()).willReturn(responseHeaders);
given(response.getBody()).willReturn(StreamUtils.emptyInput());
given(response.getBody()).willReturn(InputStream.nullInputStream());
String result = template.patchForObject("https://example.com", null, String.class);
assertThat(result).as("Invalid POST result").isNull();

View File

@@ -16,6 +16,7 @@
package org.springframework.web.filter;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import jakarta.servlet.FilterChain;
@@ -23,7 +24,6 @@ import jakarta.servlet.http.HttpServletResponse;
import org.junit.jupiter.api.Test;
import org.springframework.util.FileCopyUtils;
import org.springframework.util.StreamUtils;
import org.springframework.web.testfixture.servlet.MockHttpServletRequest;
import org.springframework.web.testfixture.servlet.MockHttpServletResponse;
@@ -45,18 +45,18 @@ public class ShallowEtagHeaderFilterTests {
MockHttpServletRequest request = new MockHttpServletRequest("GET", "/hotels");
MockHttpServletResponse response = new MockHttpServletResponse();
assertThat(filter.isEligibleForEtag(request, response, 200, StreamUtils.emptyInput())).isTrue();
assertThat(filter.isEligibleForEtag(request, response, 300, StreamUtils.emptyInput())).isFalse();
assertThat(filter.isEligibleForEtag(request, response, 200, InputStream.nullInputStream())).isTrue();
assertThat(filter.isEligibleForEtag(request, response, 300, InputStream.nullInputStream())).isFalse();
request = new MockHttpServletRequest("HEAD", "/hotels");
assertThat(filter.isEligibleForEtag(request, response, 200, StreamUtils.emptyInput())).isFalse();
assertThat(filter.isEligibleForEtag(request, response, 200, InputStream.nullInputStream())).isFalse();
request = new MockHttpServletRequest("POST", "/hotels");
assertThat(filter.isEligibleForEtag(request, response, 200, StreamUtils.emptyInput())).isFalse();
assertThat(filter.isEligibleForEtag(request, response, 200, InputStream.nullInputStream())).isFalse();
request = new MockHttpServletRequest("POST", "/hotels");
request.addHeader("Cache-Control","must-revalidate, no-store");
assertThat(filter.isEligibleForEtag(request, response, 200, StreamUtils.emptyInput())).isFalse();
assertThat(filter.isEligibleForEtag(request, response, 200, InputStream.nullInputStream())).isFalse();
}
@Test

View File

@@ -69,7 +69,6 @@ import org.springframework.util.LinkedCaseInsensitiveMap;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StreamUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.util.UrlPathHelper;
@@ -102,7 +101,7 @@ public class MockHttpServletRequest implements HttpServletRequest {
private static final TimeZone GMT = TimeZone.getTimeZone("GMT");
private static final ServletInputStream EMPTY_SERVLET_INPUT_STREAM =
new DelegatingServletInputStream(StreamUtils.emptyInput());
new DelegatingServletInputStream(InputStream.nullInputStream());
private static final BufferedReader EMPTY_BUFFERED_READER =
new BufferedReader(new StringReader(""));