> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bijection.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Class: RequestController

> Reference for the RequestController class in bijection/browser.

[browser](/api/modules/browser).RequestController

## Constructors

### constructor

• **new RequestController**(`store`, `send`, `uncertain`, `validate?`)

#### Parameters

| Name | Type |
| :- | :- |
| `store` | [`RequestStore`](/api/modules/browser#requeststore) |
| `send` | (`request`: [`PendingRequest`](/api/modules/browser#pendingrequest)) => `Promise`\<`unknown`> |
| `uncertain` | (`error`: `unknown`) => `boolean` |
| `validate` | (`request`: [`PendingRequest`](/api/modules/browser#pendingrequest)) => `void` |

## Methods

### snapshot

▸ **snapshot**(): [`RequestControllerState`](/api/modules/browser#requestcontrollerstate)

#### Returns

[`RequestControllerState`](/api/modules/browser#requestcontrollerstate)

***

### subscribe

▸ **subscribe**(`listener`): () => `void`

#### Parameters

| Name | Type |
| :- | :- |
| `listener` | () => `void` |

#### Returns

`fn`

▸ (): `void`

##### Returns

`void`

***

### restore

▸ **restore**(): `Promise`\<`void`>

#### Returns

`Promise`\<`void`>

***

### perform

▸ **perform**(`request`, `notice`): `Promise`\<`void`>

#### Parameters

| Name | Type |
| :- | :- |
| `request` | [`PendingRequest`](/api/modules/browser#pendingrequest) |
| `notice` | `string` |

#### Returns

`Promise`\<`void`>

***

### recover

▸ **recover**(`notice?`): `Promise`\<`void`>

#### Parameters

| Name | Type | Default value |
| :- | :- | :- |
| `notice` | `string` | `"Request confirmed."` |

#### Returns

`Promise`\<`void`>

***

### close

▸ **close**(): `void`

#### Returns

`void`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.