Clarified that getBody() never returns null
As the only place that historically differed, HttpComponents(Async)ClientHttpResponse returns an empty stream instead of null now. Issue: SPR-13563
This commit is contained in:
parent
66177dfd8c
commit
a5f81a0433
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2010 the original author or authors.
|
||||
* Copyright 2002-2015 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.
|
||||
|
|
@ -23,7 +23,8 @@ import java.io.InputStream;
|
|||
* Represents an HTTP input message, consisting of {@linkplain #getHeaders() headers}
|
||||
* and a readable {@linkplain #getBody() body}.
|
||||
*
|
||||
* <p>Typically implemented by an HTTP request on the server-side, or a response on the client-side.
|
||||
* <p>Typically implemented by an HTTP request handle on the server side,
|
||||
* or an HTTP response handle on the client side.
|
||||
*
|
||||
* @author Arjen Poutsma
|
||||
* @since 3.0
|
||||
|
|
@ -32,7 +33,7 @@ public interface HttpInputMessage extends HttpMessage {
|
|||
|
||||
/**
|
||||
* Return the body of the message as an input stream.
|
||||
* @return the input stream body
|
||||
* @return the input stream body (never {@code null})
|
||||
* @throws IOException in case of I/O Errors
|
||||
*/
|
||||
InputStream getBody() throws IOException;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2009 the original author or authors.
|
||||
* Copyright 2002-2015 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.
|
||||
|
|
@ -17,8 +17,8 @@
|
|||
package org.springframework.http;
|
||||
|
||||
/**
|
||||
* Represents the base interface for HTTP request and response messages. Consists of {@link HttpHeaders}, retrievable
|
||||
* via {@link #getHeaders()}.
|
||||
* Represents the base interface for HTTP request and response messages.
|
||||
* Consists of {@link HttpHeaders}, retrievable via {@link #getHeaders()}.
|
||||
*
|
||||
* @author Arjen Poutsma
|
||||
* @since 3.0
|
||||
|
|
@ -27,7 +27,7 @@ public interface HttpMessage {
|
|||
|
||||
/**
|
||||
* Return the headers of this message.
|
||||
* @return a corresponding HttpHeaders object
|
||||
* @return a corresponding HttpHeaders object (never {@code null})
|
||||
*/
|
||||
HttpHeaders getHeaders();
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2010 the original author or authors.
|
||||
* Copyright 2002-2015 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.
|
||||
|
|
@ -23,7 +23,8 @@ import java.io.OutputStream;
|
|||
* Represents an HTTP output message, consisting of {@linkplain #getHeaders() headers}
|
||||
* and a writable {@linkplain #getBody() body}.
|
||||
*
|
||||
* <p>Typically implemented by an HTTP request on the client-side, or a response on the server-side.
|
||||
* <p>Typically implemented by an HTTP request handle on the client side,
|
||||
* or an HTTP response handle on the server side.
|
||||
*
|
||||
* @author Arjen Poutsma
|
||||
* @since 3.0
|
||||
|
|
@ -32,7 +33,7 @@ public interface HttpOutputMessage extends HttpMessage {
|
|||
|
||||
/**
|
||||
* Return the body of the message as an output stream.
|
||||
* @return the output stream body
|
||||
* @return the output stream body (never {@code null})
|
||||
* @throws IOException in case of I/O Errors
|
||||
*/
|
||||
OutputStream getBody() throws IOException;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
* Copyright 2002-2015 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.
|
||||
|
|
@ -24,6 +24,7 @@ import org.apache.http.HttpEntity;
|
|||
import org.apache.http.HttpResponse;
|
||||
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.util.StreamUtils;
|
||||
|
||||
/**
|
||||
* {@link ClientHttpResponse} implementation that uses
|
||||
|
|
@ -72,7 +73,7 @@ final class HttpComponentsAsyncClientHttpResponse extends AbstractClientHttpResp
|
|||
@Override
|
||||
public InputStream getBody() throws IOException {
|
||||
HttpEntity entity = this.httpResponse.getEntity();
|
||||
return entity != null ? entity.getContent() : null;
|
||||
return (entity != null ? entity.getContent() : StreamUtils.emptyInput());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ import org.apache.http.HttpResponse;
|
|||
import org.apache.http.util.EntityUtils;
|
||||
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.util.StreamUtils;
|
||||
|
||||
/**
|
||||
* {@link org.springframework.http.client.ClientHttpResponse} implementation that uses
|
||||
|
|
@ -76,7 +77,7 @@ final class HttpComponentsClientHttpResponse extends AbstractClientHttpResponse
|
|||
@Override
|
||||
public InputStream getBody() throws IOException {
|
||||
HttpEntity entity = this.httpResponse.getEntity();
|
||||
return (entity != null ? entity.getContent() : null);
|
||||
return (entity != null ? entity.getContent() : StreamUtils.emptyInput());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
Loading…
Reference in New Issue