# PrerenderParameters.Builder

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

*** ** * ** ***


```
class PrerenderParameters.Builder
```

<br />

*** ** * ** ***

A builder class to use to construct the `https://developer.android.com/reference/kotlin/androidx/webkit/PrerenderParameters`.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/webkit/PrerenderParameters.Builder#Builder()()` Construct a new Builder. |

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/webkit/PrerenderParameters.Builder` | `@https://developer.android.com/reference/kotlin/androidx/webkit/Profile.ExperimentalUrlPrefetch https://developer.android.com/reference/kotlin/androidx/webkit/PrerenderParameters.Builder#addAdditionalHeader(java.lang.String,java.lang.String)(key: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, value: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)` Sets the header value for the given key. |
| `https://developer.android.com/reference/kotlin/androidx/webkit/PrerenderParameters.Builder` | `@https://developer.android.com/reference/kotlin/androidx/webkit/Profile.ExperimentalUrlPrefetch https://developer.android.com/reference/kotlin/androidx/webkit/PrerenderParameters.Builder#addAdditionalHeaders(java.util.Map<java.lang.String,java.lang.String>)(additionalHeaders: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-map/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!, https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>)` Sets multiple headers at once. |
| `https://developer.android.com/reference/kotlin/androidx/webkit/PrerenderParameters` | `@https://developer.android.com/reference/kotlin/androidx/webkit/Profile.ExperimentalUrlPrefetch https://developer.android.com/reference/kotlin/androidx/webkit/PrerenderParameters.Builder#build()()` Build the `https://developer.android.com/reference/kotlin/androidx/webkit/PrerenderParameters`. |
| `https://developer.android.com/reference/kotlin/androidx/webkit/PrerenderParameters.Builder` | `@https://developer.android.com/reference/kotlin/androidx/webkit/Profile.ExperimentalUrlPrefetch [setExpectedNoVarySearchData](https://developer.android.com/reference/kotlin/androidx/webkit/PrerenderParameters.Builder#setExpectedNoVarySearchData(androidx.webkit.NoVarySearchHeader))( expectedNoVarySearchHeader: https://developer.android.com/reference/kotlin/androidx/webkit/NoVarySearchHeader )` **This function is deprecated.** Please use `https://developer.android.com/reference/kotlin/androidx/webkit/PrerenderParameters.Builder#setExpectedNoVarySearchHeader(androidx.webkit.NoVarySearchHeader)` <br /> |
| `https://developer.android.com/reference/kotlin/androidx/webkit/PrerenderParameters.Builder` | `@https://developer.android.com/reference/kotlin/androidx/webkit/Profile.ExperimentalUrlPrefetch https://developer.android.com/reference/kotlin/androidx/webkit/PrerenderParameters.Builder#setExpectedNoVarySearchHeader(androidx.webkit.NoVarySearchHeader)( expectedNoVarySearchHeader: https://developer.android.com/reference/kotlin/androidx/webkit/NoVarySearchHeader )` Sets the [No-Vary-Search](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/No-Vary-Search) data that's expected to be returned via the header in the prerender's response. |
| `https://developer.android.com/reference/kotlin/androidx/webkit/PrerenderParameters.Builder` | `@https://developer.android.com/reference/kotlin/androidx/webkit/Profile.ExperimentalUrlPrefetch https://developer.android.com/reference/kotlin/androidx/webkit/PrerenderParameters.Builder#setVariationsId(java.lang.Integer)(variationsId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html?)` Sets an optional variations ID to associate with this prefetch request. |

## Public constructors

### Builder

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

```
Builder()
```

Construct a new Builder.

## Public functions

### addAdditionalHeader

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

```
@Profile.ExperimentalUrlPrefetch
fun addAdditionalHeader(key: String, value: String): PrerenderParameters.Builder
```

Sets the header value for the given key. If called multiple times for the same key, the last value will be used.

Header keys must be [RFC 2616](https://datatracker.ietf.org/doc/html/rfc2616) -compliant.

The logic for handling additional header isn't guaranteed to match the `https://developer.android.com/reference/android/webkit/WebView.html#loadUrl(java.lang.String, java.util.Map&lt;java.lang.String,java.lang.String&gt;)`'s logic and is subject to change in the future.

| Parameters |
|---|---|
| `key: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | The header key. |
| `value: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | The header value. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/webkit/PrerenderParameters.Builder` | This builder instance for chaining. |

### addAdditionalHeaders

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

```
@Profile.ExperimentalUrlPrefetch
fun addAdditionalHeaders(additionalHeaders: (Mutable)Map<String!, String!>): PrerenderParameters.Builder
```

Sets multiple headers at once. The headers passed in here will be merged with any that have been previously set (duplicate keys will be overridden).

Header keys must be [RFC 2616](https://datatracker.ietf.org/doc/html/rfc2616) compliant.

| Parameters |
|---|---|
| `additionalHeaders: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-map/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!, https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>` | A map of additional headers to set. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/webkit/PrerenderParameters.Builder` | This builder instance for chaining. |

### build

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

```
@Profile.ExperimentalUrlPrefetch
fun build(): PrerenderParameters
```

Build the `https://developer.android.com/reference/kotlin/androidx/webkit/PrerenderParameters`.

### setExpectedNoVarySearchData

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

```
@Profile.ExperimentalUrlPrefetch
fun [setExpectedNoVarySearchData](https://developer.android.com/reference/kotlin/androidx/webkit/PrerenderParameters.Builder#setExpectedNoVarySearchData(androidx.webkit.NoVarySearchHeader))(
    expectedNoVarySearchHeader: NoVarySearchHeader
): PrerenderParameters.Builder
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Please use `https://developer.android.com/reference/kotlin/androidx/webkit/PrerenderParameters.Builder#setExpectedNoVarySearchHeader(androidx.webkit.NoVarySearchHeader)`

Sets the [No-Vary-Search](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/No-Vary-Search) data that's expected to be returned via the header in the prerender's response.

This is used to help determine if WebView#loadUrl should either use an in-flight prerender response to render the web contents or handle the URL as it typically does (i.e. start a network request).

| Parameters |
|---|---|
| `expectedNoVarySearchHeader: https://developer.android.com/reference/kotlin/androidx/webkit/NoVarySearchHeader` | The No-Vary-Search data expected to be returned in the prerender's response. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/webkit/PrerenderParameters.Builder` | This builder instance for chaining. |

### setExpectedNoVarySearchHeader

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

```
@Profile.ExperimentalUrlPrefetch
fun setExpectedNoVarySearchHeader(
    expectedNoVarySearchHeader: NoVarySearchHeader
): PrerenderParameters.Builder
```

Sets the [No-Vary-Search](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/No-Vary-Search) data that's expected to be returned via the header in the prerender's response.

This is used to help determine if WebView#loadUrl should either use an in-flight prerender response to render the web contents or handle the URL as it typically does (i.e. start a network request).

| Parameters |
|---|---|
| `expectedNoVarySearchHeader: https://developer.android.com/reference/kotlin/androidx/webkit/NoVarySearchHeader` | The No-Vary-Search data expected to be returned in the prerender's response. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/webkit/PrerenderParameters.Builder` | This builder instance for chaining. |

### setVariationsId

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

```
@Profile.ExperimentalUrlPrefetch
fun setVariationsId(variationsId: Int?): PrerenderParameters.Builder
```

Sets an optional variations ID to associate with this prefetch request.

| Parameters |
|---|---|
| `variationsId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html?` | An Integer ID for this prefetch configuration, or `null` if no specific variations ID is applicable. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/webkit/PrerenderParameters.Builder` | This builder instance for chaining. |