# WebResourceResponseCompat

Artifact: [androidx.webkit:webkit](https://developer.android.com/jetpack/androidx/releases/webkit) [View Source](https://cs.android.com/search?q=file:androidx/webkit/WebResourceResponseCompat.java+class:androidx.webkit.WebResourceResponseCompat) Added in [1.15.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.15.0)

*** ** * ** ***


```
public class WebResourceResponseCompat
```

<br />

*** ** * ** ***

Compatibility version of `https://developer.android.com/reference/android/webkit/WebResourceResponse.html`. This class can be used as a direct replacement of the framework class.

| See also |
|---|---|
| `https://developer.android.com/reference/android/webkit/WebResourceResponse.html` |   |

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/webkit/WebResourceResponseCompat#WebResourceResponseCompat(java.lang.String,java.lang.String,java.io.InputStream)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html mimeType, @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/String.html encoding, @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/io/InputStream.html data )` Constructor matching `https://developer.android.com/reference/android/webkit/WebResourceResponse.html#WebResourceResponse(java.lang.String, java.lang.String, java.io.InputStream)` |
| `https://developer.android.com/reference/androidx/webkit/WebResourceResponseCompat#WebResourceResponseCompat(java.lang.String,java.lang.String,int,java.lang.String,java.util.Map<java.lang.String,java.lang.String>,java.io.InputStream)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html mimeType, @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/String.html encoding, int statusCode, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html reasonPhrase, @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/util/Map.html<https://developer.android.com/reference/java/lang/String.html, https://developer.android.com/reference/java/lang/String.html> responseHeaders, @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/io/InputStream.html data )` Constructor matching `https://developer.android.com/reference/android/webkit/WebResourceResponse.html#WebResourceResponse(java.lang.String, java.lang.String, int, java.lang.String, java.util.Map&lt;java.lang.String,java.lang.String&gt;, java.io.InputStream)` |

| ### Public methods |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/java/lang/String.html>` | `@https://developer.android.com/reference/androidx/annotation/RequiresFeature(name = https://developer.android.com/reference/androidx/webkit/WebViewFeature.COOKIE_INTERCEPT, enforcement = "androidx.webkit.WebViewFeature#isFeatureSupported") https://developer.android.com/reference/androidx/webkit/WebResourceResponseCompat#getCookies()()` Get the list of cookies set by `https://developer.android.com/reference/androidx/webkit/WebResourceResponseCompat#setCookies(java.util.List<java.lang.String>)` or an empty list. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/io/InputStream.html` | `https://developer.android.com/reference/androidx/webkit/WebResourceResponseCompat#getData()()` |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/webkit/WebResourceResponseCompat#getEncoding()()` |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/webkit/WebResourceResponseCompat#getMimeType()()` |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/webkit/WebResourceResponseCompat#getReasonPhrase()()` |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/Map.html<https://developer.android.com/reference/java/lang/String.html, https://developer.android.com/reference/java/lang/String.html>` | `https://developer.android.com/reference/androidx/webkit/WebResourceResponseCompat#getResponseHeaders()()` |
| `int` | `https://developer.android.com/reference/androidx/webkit/WebResourceResponseCompat#getStatusCode()()` |
| `void` | `@https://developer.android.com/reference/androidx/annotation/RequiresFeature(name = https://developer.android.com/reference/androidx/webkit/WebViewFeature.COOKIE_INTERCEPT, enforcement = "androidx.webkit.WebViewFeature#isFeatureSupported") https://developer.android.com/reference/androidx/webkit/WebResourceResponseCompat#setCookies(java.util.List<java.lang.String>)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/java/lang/String.html> cookies)` Set the list of `Set-Cookie` header values applicable to this response. |
| `void` | `https://developer.android.com/reference/androidx/webkit/WebResourceResponseCompat#setData(java.io.InputStream)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/io/InputStream.html data)` |
| `void` | `https://developer.android.com/reference/androidx/webkit/WebResourceResponseCompat#setEncoding(java.lang.String)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/String.html encoding)` |
| `void` | `https://developer.android.com/reference/androidx/webkit/WebResourceResponseCompat#setMimeType(java.lang.String)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html mimeType)` |
| `void` | `https://developer.android.com/reference/androidx/webkit/WebResourceResponseCompat#setResponseHeaders(java.util.Map<java.lang.String,java.lang.String>)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/Map.html<https://developer.android.com/reference/java/lang/String.html, https://developer.android.com/reference/java/lang/String.html> headers)` |
| `void` | `https://developer.android.com/reference/androidx/webkit/WebResourceResponseCompat#setStatusCodeAndReasonPhrase(int,java.lang.String)( int statusCode, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html reasonPhrase )` |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/webkit/WebResourceResponse.html` | `https://developer.android.com/reference/androidx/webkit/WebResourceResponseCompat#toWebResourceResponse()()` Convert this object to a `https://developer.android.com/reference/android/webkit/WebResourceResponse.html` that can be used as return value in `https://developer.android.com/reference/android/webkit/WebViewClient.html#shouldInterceptRequest(android.webkit.WebView, android.webkit.WebResourceRequest)` and `https://developer.android.com/reference/android/webkit/ServiceWorkerClient.html#shouldInterceptRequest(android.webkit.WebResourceRequest)`. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/webkit/WebResourceResponseCompat` | `https://developer.android.com/reference/androidx/webkit/WebResourceResponseCompat#toWebResourceResponseCompat(android.webkit.WebResourceResponse)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/webkit/WebResourceResponse.html response)` Convert a `https://developer.android.com/reference/android/webkit/WebResourceResponse.html` to the compat version. |

## Public constructors

### WebResourceResponseCompat

Added in [1.15.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.15.0)

```
public WebResourceResponseCompat(
    @NonNull String mimeType,
    @Nullable String encoding,
    @Nullable InputStream data
)
```

Constructor matching `https://developer.android.com/reference/android/webkit/WebResourceResponse.html#WebResourceResponse(java.lang.String, java.lang.String, java.io.InputStream)`

### WebResourceResponseCompat

Added in [1.15.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.15.0)

```
public WebResourceResponseCompat(
    @NonNull String mimeType,
    @Nullable String encoding,
    int statusCode,
    @NonNull String reasonPhrase,
    @Nullable Map<String, String> responseHeaders,
    @Nullable InputStream data
)
```

Constructor matching `https://developer.android.com/reference/android/webkit/WebResourceResponse.html#WebResourceResponse(java.lang.String, java.lang.String, int, java.lang.String, java.util.Map&lt;java.lang.String,java.lang.String&gt;, java.io.InputStream)`

## Public methods

### getCookies

Added in [1.15.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.15.0)

```
@RequiresFeature(name = WebViewFeature.COOKIE_INTERCEPT, enforcement = "androidx.webkit.WebViewFeature#isFeatureSupported")
public @NonNull List<String> getCookies()
```

Get the list of cookies set by `https://developer.android.com/reference/androidx/webkit/WebResourceResponseCompat#setCookies(java.util.List<java.lang.String>)` or an empty list.

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/UnsupportedOperationException.html` | if the `https://developer.android.com/reference/androidx/webkit/WebViewFeature#COOKIE_INTERCEPT()` feature is not supported. This should be checked before use with `https://developer.android.com/reference/androidx/webkit/WebViewFeature#isFeatureSupported(java.lang.String)`. |

### getData

Added in [1.15.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.15.0)

```
public @Nullable InputStream getData()
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/webkit/WebResourceResponse.html#getData()` |   |

### getEncoding

Added in [1.15.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.15.0)

```
public @Nullable String getEncoding()
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/webkit/WebResourceResponse.html#getEncoding()` |   |

### getMimeType

Added in [1.15.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.15.0)

```
public @NonNull String getMimeType()
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/webkit/WebResourceResponse.html#getMimeType()` |   |

### getReasonPhrase

Added in [1.15.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.15.0)

```
public @Nullable String getReasonPhrase()
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/webkit/WebResourceResponse.html#getReasonPhrase()` |   |

### getResponseHeaders

Added in [1.15.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.15.0)

```
public @NonNull Map<String, String> getResponseHeaders()
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/webkit/WebResourceResponse.html#getResponseHeaders()` |   |

### getStatusCode

Added in [1.15.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.15.0)

```
public int getStatusCode()
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/webkit/WebResourceResponse.html#getStatusCode()` |   |

### setCookies

Added in [1.15.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.15.0)

```
@RequiresFeature(name = WebViewFeature.COOKIE_INTERCEPT, enforcement = "androidx.webkit.WebViewFeature#isFeatureSupported")
public void setCookies(@NonNull List<String> cookies)
```

Set the list of `Set-Cookie` header values applicable to this response.

Note that these values will only be used by WebView if `https://developer.android.com/reference/androidx/webkit/WebSettingsCompat#areCookiesIncludedInShouldInterceptRequest(android.webkit.WebSettings)` is `true`, and by service workers if `https://developer.android.com/reference/androidx/webkit/ServiceWorkerWebSettingsCompat#isIncludeCookiesOnShouldInterceptRequestEnabled()` is `true`. Otherwise the values will be ignored.

It is safe to use this method even if the map of response headers provided in the constructor or through `https://developer.android.com/reference/androidx/webkit/WebResourceResponseCompat#setResponseHeaders(java.util.Map<java.lang.String,java.lang.String>)` already contains a `Set-Cookie` value. In such cases, all values will be applied. However, it is recommended to only use this method to supply `Set-Cookie` header values. A `Set-Cookie` value in the header map will also only be used according to the restrictions mentioned above.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/java/lang/String.html> cookies` | List of valid `Set-Cookie` header values |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/UnsupportedOperationException.html` | if the `https://developer.android.com/reference/androidx/webkit/WebViewFeature#COOKIE_INTERCEPT()` feature is not supported. This should be checked before use with `https://developer.android.com/reference/androidx/webkit/WebViewFeature#isFeatureSupported(java.lang.String)`. |

### setData

Added in [1.15.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.15.0)

```
public void setData(@Nullable InputStream data)
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/webkit/WebResourceResponse.html#setData(java.io.InputStream)` |   |

### setEncoding

Added in [1.15.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.15.0)

```
public void setEncoding(@Nullable String encoding)
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/webkit/WebResourceResponse.html#setEncoding(java.lang.String)` |   |

### setMimeType

Added in [1.15.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.15.0)

```
public void setMimeType(@NonNull String mimeType)
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/webkit/WebResourceResponse.html#setMimeType(java.lang.String)` |   |

### setResponseHeaders

Added in [1.15.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.15.0)

```
public void setResponseHeaders(@NonNull Map<String, String> headers)
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/webkit/WebResourceResponse.html#setResponseHeaders(java.util.Map&lt;java.lang.String,java.lang.String&gt;)` |   |

### setStatusCodeAndReasonPhrase

Added in [1.15.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.15.0)

```
public void setStatusCodeAndReasonPhrase(
    int statusCode,
    @NonNull String reasonPhrase
)
```

| See also |
|---|---|
| `https://developer.android.com/reference/android/webkit/WebResourceResponse.html#setStatusCodeAndReasonPhrase(int, java.lang.String)` |   |

### toWebResourceResponse

Added in [1.15.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.15.0)

```
public @NonNull WebResourceResponse toWebResourceResponse()
```

Convert this object to a `https://developer.android.com/reference/android/webkit/WebResourceResponse.html` that can be used as return value in `https://developer.android.com/reference/android/webkit/WebViewClient.html#shouldInterceptRequest(android.webkit.WebView, android.webkit.WebResourceRequest)` and `https://developer.android.com/reference/android/webkit/ServiceWorkerClient.html#shouldInterceptRequest(android.webkit.WebResourceRequest)`.

The cookie headers set through `https://developer.android.com/reference/androidx/webkit/WebResourceResponseCompat#setCookies(java.util.List<java.lang.String>)` will be encoded as part of the `https://developer.android.com/reference/android/webkit/WebResourceResponse.html#getResponseHeaders()` header map to use by the WebView implementation.

### toWebResourceResponseCompat

Added in [1.15.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.15.0)

```
public static @NonNull WebResourceResponseCompat toWebResourceResponseCompat(@NonNull WebResourceResponse response)
```

Convert a `https://developer.android.com/reference/android/webkit/WebResourceResponse.html` to the compat version.