public final class HttpResponse extends Object
Callers should call disconnect() when the HTTP response object is no longer needed. However, disconnect() does not have to be called if the response stream is properly closed. Example usage:
HttpResponse response = request.execute();
try {
// process the HTTP response object
} finally {
response.disconnect();
}
Implementation is not thread-safe.
| Modifier and Type | Method and Description |
|---|---|
void |
disconnect()
Close the HTTP response content using
ignore(), and disconnect using
LowLevelHttpResponse.
|
void |
download(OutputStream
Writes the content of the HTTP response into the given destination output stream.
|
InputStream |
getContent()
Returns the content of the HTTP response.
|
Charset |
getContentCharset()
Returns the
Charset specified in the Content-Type of this response or the
"ISO-8859-1" charset as a default.
|
String |
getContentEncoding()
Returns the content encoding or
null for none.
|
int |
getContentLoggingLimit()
Returns the limit to the content size that will be logged during
getContent().
|
String |
getContentType()
Returns the content type or
null for none.
|
HttpHeaders |
getHeaders()
Returns the HTTP response headers.
|
HttpMediaType |
getMediaType()
Returns the parsed Content-Type in form of a
HttpMediaType or
null if no content-type was set.
|
HttpRequest |
getRequest()
Returns the HTTP request.
|
int |
getStatusCode()
Returns the HTTP status code or
0 for none.
|
String |
getStatusMessage()
Returns the HTTP status message or
null for none.
|
HttpTransport |
getTransport()
Returns the HTTP transport.
|
void |
ignore()
Closes the content of the HTTP response from
getContent(), ignoring any content.
|
boolean |
isLoggingEnabled()
Returns whether logging should be enabled on this response.
|
boolean |
isSuccessStatusCode()
Returns whether received a successful HTTP status code
>= 200 && < 300 (see
getStatusCode()).
|
<T> T |
parseAs(Class
Parses the content of the HTTP response from
getContent() and reads it into a data class of key/value pairs using the parser returned by
HttpRequest.
|
Object |
parseAs(Type
Parses the content of the HTTP response from
getContent() and reads it into a data type of key/value pairs using the parser returned by
HttpRequest.
|
String |
parseAsString()
Parses the content of the HTTP response from
getContent() and reads it into a string.
|
HttpResponse |
setContentLoggingLimit(int contentLoggingLimit)
Set the limit to the content size that will be logged during
getContent().
|
HttpResponse |
setLoggingEnabled(boolean loggingEnabled)
Sets whether logging should be enabled on this response.
|
public int getContentLoggingLimit()
getContent().
Content will only be logged if isLoggingEnabled() is true.
If the content size is greater than this limit then it will not be logged.
Can be set to 0 to disable content logging. This is useful for example if content has sensitive data such as authentication information.
Defaults to HttpRequest.
public HttpResponsesetContentLoggingLimit(int contentLoggingLimit)
getContent().
Content will only be logged if isLoggingEnabled() is true.
If the content size is greater than this limit then it will not be logged.
Can be set to 0 to disable content logging. This is useful for example if content has sensitive data such as authentication information.
Defaults to HttpRequest.
public boolean isLoggingEnabled()
Defaults to HttpRequest.
public HttpResponsesetLoggingEnabled(boolean loggingEnabled)
Defaults to HttpRequest.
public StringgetContentEncoding()
null for none.
public StringgetContentType()
null for none.
public HttpMediaTypegetMediaType()
HttpMediaType or
null if no content-type was set.
public HttpHeadersgetHeaders()
public boolean isSuccessStatusCode()
>= 200 && < 300 (see
getStatusCode()).
public int getStatusCode()
0 for none.
public StringgetStatusMessage()
null for none.
public HttpTransportgetTransport()
public HttpRequestgetRequest()
public InputStreamgetContent() throws IOException
The result is cached, so subsequent calls will be fast.
Callers should call InputStream after the returned InputStream is no longer needed. Example usage:
InputStream is = response.getContent();
try {
// Process the input stream..
} finally {
is.close();
}
disconnect() does not have to be called if the content is closed.
null for none
IOException - I/O exception
public void download(OutputStreamoutputStream) throws IOException
Sample usage:
HttpRequest request = requestFactory.buildGetRequest(
new GenericUrl("https://www.google.com/images/srpr/logo3w.png"));
OutputStream outputStream = new FileOutputStream(new File("/tmp/logo3w.png"));
try {
HttpResponse response = request.execute();
response.download(outputStream);
} finally {
outputStream.close();
}
This method closes the content of the HTTP response from getContent().
This method does not close the given output stream.
outputStream - destination output stream
IOException - I/O exception
public void ignore()
throws IOException
getContent(), ignoring any content.
IOException
public void disconnect()
throws IOException
ignore(), and disconnect using
LowLevelHttpResponse.disconnect() .
IOException
public <T> T parseAs(Class<T> dataClass) throws IOException
getContent() and reads it into a data class of key/value pairs using the parser returned by
HttpRequest.getParser() .
Reference: http://tools.ietf.org/html/rfc2616#section-4.3
null for no content
IOException
public ObjectparseAs(Type dataType) throws IOException
getContent() and reads it into a data type of key/value pairs using the parser returned by
HttpRequest.getParser() .
null for no content
IOException
public StringparseAsString() throws IOException
getContent() and reads it into a string.
Since this method returns "" for no content, a simpler check for no content is to check if getContent() is null.
All content is read from the input content stream rather than being limited by the Content-Length. For the character set, it follows the specification by parsing the "charset" parameter of the Content-Type header or by default "ISO-8859-1" if the parameter is missing.
"" for no content
IOException - I/O exception