Class HttpResponse
- java.lang.Object
-
- com.google.api.client.http.HttpResponse
-
public final class HttpResponse extends Object
HTTP response.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.
- Since:
- 1.0
- Author:
- Yaniv Inbar
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddisconnect()Close the HTTP response content usingignore(), and disconnect usingLowLevelHttpResponse.disconnect().voiddownload(OutputStream outputStream)Writes the content of the HTTP response into the given destination output stream.InputStreamgetContent()Returns the content of the HTTP response.CharsetgetContentCharset()Returns theCharsetspecified in the Content-Type of this response or the"ISO-8859-1"charset as a default.StringgetContentEncoding()Returns the content encoding ornullfor none.intgetContentLoggingLimit()Returns the limit to the content size that will be logged duringgetContent().StringgetContentType()Returns the content type ornullfor none.HttpHeadersgetHeaders()Returns the HTTP response headers.HttpMediaTypegetMediaType()Returns the parsed Content-Type in form of aHttpMediaTypeornullif no content-type was set.HttpRequestgetRequest()Returns the HTTP request.intgetStatusCode()Returns the HTTP status code or0for none.StringgetStatusMessage()Returns the HTTP status message ornullfor none.HttpTransportgetTransport()Returns the HTTP transport.voidignore()Closes the content of the HTTP response fromgetContent(), ignoring any content.booleanisLoggingEnabled()Returns whether logging should be enabled on this response.booleanisSuccessStatusCode()Returns whether received a successful HTTP status code>= 200 && < 300(seegetStatusCode()).<T> TparseAs(Class<T> dataClass)Parses the content of the HTTP response fromgetContent()and reads it into a data class of key/value pairs using the parser returned byHttpRequest.getParser().ObjectparseAs(Type dataType)Parses the content of the HTTP response fromgetContent()and reads it into a data type of key/value pairs using the parser returned byHttpRequest.getParser().StringparseAsString()Parses the content of the HTTP response fromgetContent()and reads it into a string.HttpResponsesetContentLoggingLimit(int contentLoggingLimit)Set the limit to the content size that will be logged duringgetContent().HttpResponsesetLoggingEnabled(boolean loggingEnabled)Sets whether logging should be enabled on this response.
-
-
-
Method Detail
-
getContentLoggingLimit
public int getContentLoggingLimit()
Returns the limit to the content size that will be logged duringgetContent().Content will only be logged if
isLoggingEnabled()istrue.If the content size is greater than this limit then it will not be logged.
Can be set to
0to disable content logging. This is useful for example if content has sensitive data such as authentication information.Defaults to
HttpRequest.getContentLoggingLimit().- Since:
- 1.7
-
setContentLoggingLimit
public HttpResponse setContentLoggingLimit(int contentLoggingLimit)
Set the limit to the content size that will be logged duringgetContent().Content will only be logged if
isLoggingEnabled()istrue.If the content size is greater than this limit then it will not be logged.
Can be set to
0to disable content logging. This is useful for example if content has sensitive data such as authentication information.Defaults to
HttpRequest.getContentLoggingLimit().- Since:
- 1.7
-
isLoggingEnabled
public boolean isLoggingEnabled()
Returns whether logging should be enabled on this response.Defaults to
HttpRequest.isLoggingEnabled().- Since:
- 1.9
-
setLoggingEnabled
public HttpResponse setLoggingEnabled(boolean loggingEnabled)
Sets whether logging should be enabled on this response.Defaults to
HttpRequest.isLoggingEnabled().- Since:
- 1.9
-
getContentEncoding
public String getContentEncoding()
Returns the content encoding ornullfor none.- Since:
- 1.5
-
getContentType
public String getContentType()
Returns the content type ornullfor none.- Since:
- 1.5
-
getMediaType
public HttpMediaType getMediaType()
Returns the parsed Content-Type in form of aHttpMediaTypeornullif no content-type was set.- Since:
- 1.10
-
getHeaders
public HttpHeaders getHeaders()
Returns the HTTP response headers.- Since:
- 1.5
-
isSuccessStatusCode
public boolean isSuccessStatusCode()
Returns whether received a successful HTTP status code>= 200 && < 300(seegetStatusCode()).- Since:
- 1.5
-
getStatusCode
public int getStatusCode()
Returns the HTTP status code or0for none.- Since:
- 1.5
-
getStatusMessage
public String getStatusMessage()
Returns the HTTP status message ornullfor none.- Since:
- 1.5
-
getTransport
public HttpTransport getTransport()
Returns the HTTP transport.- Since:
- 1.5
-
getRequest
public HttpRequest getRequest()
Returns the HTTP request.- Since:
- 1.5
-
getContent
public InputStream getContent() throws IOException
Returns the content of the HTTP response.The result is cached, so subsequent calls will be fast.
Callers should call
InputStream.close()after the returnedInputStreamis 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.- Returns:
- input stream content of the HTTP response or
nullfor none - Throws:
IOException- I/O exception
-
download
public void download(OutputStream outputStream) throws IOException
Writes the content of the HTTP response into the given destination output stream.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.
- Parameters:
outputStream- destination output stream- Throws:
IOException- I/O exception- Since:
- 1.9
-
ignore
public void ignore() throws IOExceptionCloses the content of the HTTP response fromgetContent(), ignoring any content.- Throws:
IOException
-
disconnect
public void disconnect() throws IOExceptionClose the HTTP response content usingignore(), and disconnect usingLowLevelHttpResponse.disconnect().- Throws:
IOException- Since:
- 1.4
-
parseAs
public <T> T parseAs(Class<T> dataClass) throws IOException
Parses the content of the HTTP response fromgetContent()and reads it into a data class of key/value pairs using the parser returned byHttpRequest.getParser().Reference: http://tools.ietf.org/html/rfc2616#section-4.3
- Returns:
- parsed data class or
nullfor no content - Throws:
IOException
-
parseAs
public Object parseAs(Type dataType) throws IOException
Parses the content of the HTTP response fromgetContent()and reads it into a data type of key/value pairs using the parser returned byHttpRequest.getParser().- Returns:
- parsed data type instance or
nullfor no content - Throws:
IOException- Since:
- 1.10
-
parseAsString
public String parseAsString() throws IOException
Parses the content of the HTTP response fromgetContent()and reads it into a string.Since this method returns
""for no content, a simpler check for no content is to check ifgetContent()isnull.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.- Returns:
- parsed string or
""for no content - Throws:
IOException- I/O exception
-
-