mirror of
https://github.com/spring-projects/spring-framework
synced 2026-06-08 17:33:33 +00:00
Make base classes for client requests public
AbstractBufferingClientHttpRequest and AbstractStreamingClientHttpRequest Closes gh-36501
This commit is contained in:
+4
-4
@@ -31,18 +31,18 @@ import org.springframework.util.StreamUtils;
|
||||
* @author Arjen Poutsma
|
||||
* @since 3.0.6
|
||||
*/
|
||||
abstract class AbstractBufferingClientHttpRequest extends AbstractClientHttpRequest {
|
||||
public abstract class AbstractBufferingClientHttpRequest extends AbstractClientHttpRequest {
|
||||
|
||||
private final FastByteArrayOutputStream bufferedOutput = new FastByteArrayOutputStream(1024);
|
||||
|
||||
|
||||
@Override
|
||||
protected OutputStream getBodyInternal(HttpHeaders headers) throws IOException {
|
||||
protected final OutputStream getBodyInternal(HttpHeaders headers) {
|
||||
return this.bufferedOutput;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ClientHttpResponse executeInternal(HttpHeaders headers) throws IOException {
|
||||
protected final ClientHttpResponse executeInternal(HttpHeaders headers) throws IOException {
|
||||
byte[] bytes = this.bufferedOutput.toByteArrayUnsafe();
|
||||
if (headers.getContentLength() < 0) {
|
||||
headers.setContentLength(bytes.length);
|
||||
@@ -70,7 +70,7 @@ abstract class AbstractBufferingClientHttpRequest extends AbstractClientHttpRequ
|
||||
* @throws IOException in case of I/O errors from execution
|
||||
* @since 7.0
|
||||
*/
|
||||
protected ClientHttpResponse executeWithRequest(
|
||||
final ClientHttpResponse executeWithRequestAndBody(
|
||||
ClientHttpRequest request, byte[] bufferedOutput, boolean bufferResponse) throws IOException {
|
||||
|
||||
if (bufferedOutput.length > 0) {
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@ import org.springframework.util.FastByteArrayOutputStream;
|
||||
* @author Rossen Stoyanchev
|
||||
* @since 6.1
|
||||
*/
|
||||
abstract class AbstractStreamingClientHttpRequest extends AbstractClientHttpRequest
|
||||
public abstract class AbstractStreamingClientHttpRequest extends AbstractClientHttpRequest
|
||||
implements StreamingHttpOutputMessage {
|
||||
|
||||
private @Nullable Body body;
|
||||
|
||||
+1
-1
@@ -51,7 +51,7 @@ final class BufferingClientHttpRequestWrapper extends AbstractBufferingClientHtt
|
||||
@Override
|
||||
protected ClientHttpResponse executeInternal(HttpHeaders headers, byte[] bufferedOutput) throws IOException {
|
||||
this.request.getHeaders().putAll(headers);
|
||||
return executeWithRequest(this.request, bufferedOutput, true);
|
||||
return executeWithRequestAndBody(this.request, bufferedOutput, true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -99,7 +99,7 @@ class InterceptingClientHttpRequest extends AbstractBufferingClientHttpRequest {
|
||||
ClientHttpRequest delegate = this.requestFactory.createRequest(request.getURI(), request.getMethod());
|
||||
request.getHeaders().forEach((key, value) -> delegate.getHeaders().addAll(key, value));
|
||||
request.getAttributes().forEach((key, value) -> delegate.getAttributes().put(key, value));
|
||||
return executeWithRequest(delegate, body, shouldBufferResponse(request));
|
||||
return executeWithRequestAndBody(delegate, body, shouldBufferResponse(request));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user