WebResourceResponse


public class WebResourceResponse
extends Object

java.lang.Object
   ↳ android.webkit.WebResourceResponse


Encapsulates a resource response. Applications can return an instance of this class from WebViewClient#shouldInterceptRequest to provide a custom response when the WebView requests a particular resource.

Summary

Public constructors

WebResourceResponse(String mimeType, String encoding, InputStream data)

Constructs a resource response with the given MIME type, character encoding, and input stream.

WebResourceResponse(String mimeType, String encoding, int statusCode, String reasonPhrase, Map<StringString> responseHeaders, InputStream data)

Constructs a resource response with the given parameters.

Public methods

InputStream getData()

Gets the input stream that provides the resource response's data.

String getEncoding()

Gets the resource response's encoding.

String getMimeType()

Gets the resource response's MIME type.

String getReasonPhrase()

Gets the description of the resource response's status code.

Map<StringString> getResponseHeaders()

Gets the headers for the resource response.

int getStatusCode()

Gets the resource response's status code.

void setData(InputStream data)

Sets the input stream that provides the resource response's data.

void setEncoding(String encoding)

Sets the resource response's encoding, for example "UTF-8".

void setMimeType(String mimeType)

Sets the resource response's MIME type, for example "text/html".

void setResponseHeaders(Map<StringString> headers)

Sets the headers for the resource response.

void setStatusCodeAndReasonPhrase(int statusCode, String reasonPhrase)

Sets the resource response's status code and reason phrase.

Inherited methods

Public constructors

WebResourceResponse

Added in API level 11
public WebResourceResponse (String mimeType, 
                String encoding, 
                InputStream data)

Constructs a resource response with the given MIME type, character encoding, and input stream. Callers must implement InputStream#read(byte[]) for the input stream. InputStream#close() will be called after the WebView has finished with the response.

Note: The MIME type and character encoding must be specified as separate parameters (for example "text/html" and "utf-8"), not a single value like the "text/html; charset=utf-8" format used in the HTTP Content-Type header. Do not use the value of a HTTP Content-Encoding header for encoding, as that header does not specify a character encoding. Content without a defined character encoding (for example image resources) should pass null for encoding.

Parameters
mimeType String: the resource response's MIME type, for example "text/html".

encoding String: the resource response's character encoding, for example "utf-8".

data InputStream: the input stream that provides the resource response's data. Must not be a StringBufferInputStream.

WebResourceResponse

Added in API level 21
public WebResourceResponse (String mimeType, 
                String encoding, 
                int statusCode, 
                String reasonPhrase, 
                Map<StringString> responseHeaders, 
                InputStream data)

Constructs a resource response with the given parameters. Callers must implement InputStream#read(byte[]) for the input stream. InputStream#close() will be called after the WebView has finished with the response.

Note: See WebResourceResponse(java.lang.String, java.lang.String, java.io.InputStream) for details on what should be specified for mimeType and encoding.

Parameters
mimeType String: the resource response's MIME type, for example "text/html".

encoding String: the resource response's character encoding, for example "utf-8".

statusCode int: the status code needs to be in the ranges [100, 299], [400, 599]. Causing a redirect by specifying a 3xx code is not supported.

reasonPhrase String: the phrase describing the status code, for example "OK". Must be non-empty. This value cannot be null.

responseHeaders Map: the resource response's headers represented as a mapping of header name -> header value.

data InputStream: the input stream that provides the resource response's data. Must not be a StringBufferInputStream.

Public methods

getData

Added in API level 11
public InputStream getData ()

Gets the input stream that provides the resource response's data.

Returns
InputStream The input stream that provides the resource response's data

getEncoding

Added in API level 11
public String getEncoding ()

Gets the resource response's encoding.

Returns
String The resource response's encoding

getMimeType

Added in API level 11
public String getMimeType ()

Gets the resource response's MIME type.

Returns
String The resource response's MIME type

getReasonPhrase

Added in API level 21
public String getReasonPhrase ()

Gets the description of the resource response's status code.

Returns
String The description of the resource response's status code.

getResponseHeaders

Added in API level 21
public Map<StringString> getResponseHeaders ()

Gets the headers for the resource response.

Returns
Map<StringString> The headers for the resource response.

getStatusCode

Added in API level 21
public int getStatusCode ()

Gets the resource response's status code.

Returns
int The resource response's status code.

setData

Added in API level 11
public void setData (InputStream data)

Sets the input stream that provides the resource response's data. Callers must implement InputStream#read(byte[]). InputStream#close() will be called after the WebView has finished with the response.

Parameters
data InputStream: the input stream that provides the resource response's data. Must not be a StringBufferInputStream.

setEncoding

Added in API level 11
public void setEncoding (String encoding)

Sets the resource response's encoding, for example "UTF-8". This is used to decode the data from the input stream.

Parameters
encoding String: The resource response's encoding

setMimeType

Added in API level 11
public void setMimeType (String mimeType)

Sets the resource response's MIME type, for example "text/html".

Parameters
mimeType String: The resource response's MIME type

setResponseHeaders

Added in API level 21
public void setResponseHeaders (Map<StringString> headers)

Sets the headers for the resource response.

Parameters
headers Map: Mapping of header name -> header value.

setStatusCodeAndReasonPhrase

Added in API level 21
public void setStatusCodeAndReasonPhrase (int statusCode, 
                String reasonPhrase)

Sets the resource response's status code and reason phrase.

Parameters
statusCode int: the status code needs to be in the ranges [100, 299], [400, 599]. Causing a redirect by specifying a 3xx code is not supported.

reasonPhrase String: the phrase describing the status code, for example "OK". Must be non-empty. This value cannot be null.