---
title: RequestHandleUpgradeWebsocket
summary: An extension trait for RequestHandles that adds methods for upgrading websockets.
url: https://www.fastly.com/documentation/reference/compute/sdks/rust/fastly/experimental/trait.RequestHandleUpgradeWebsocket/
---

**Kind:** Trait  
**Module:** [experimental](https://www.fastly.com/documentation/reference/compute/sdks/rust/fastly/experimental/)  
**Package:** fastly 0.13.1  
**Source:** https://docs.rs/crate/fastly/0.13.1/source/src/experimental.rs#307

```rust
pub trait RequestHandleUpgradeWebsocket {
    // Required methods
    fn handoff_websocket(&mut self, backend: &str) -> Result<(), SendErrorCause>;
    fn handoff_fanout(&mut self, backend: &str) -> Result<(), SendErrorCause>;
}
```

An extension trait for [`RequestHandle`](https://www.fastly.com/documentation/reference/compute/sdks/rust/fastly/handle/struct.RequestHandle/)s that adds methods for upgrading
websockets.

## Methods

### handoff_fanout

**Flags:** deprecated  
**Source:** https://docs.rs/crate/fastly/0.13.1/source/src/experimental.rs#320

> **DEPRECATED:** The RequestHandleUpgradeWebsocket::handoff_fanout() trait method is now part of RequestHandle.

```rust
fn handoff_fanout(&mut self, backend: &str) -> Result<(), SendErrorCause>
```

See [`RequestHandle::handoff_fanout()`](https://www.fastly.com/documentation/reference/compute/sdks/rust/fastly/handle/struct.RequestHandle/#method-handoff_fanout).

**Parameters**

- `self`: `&mut Self`
- `backend`: `&str`

**Returns**

`Result<(), SendErrorCause>`

### handoff_websocket

**Flags:** deprecated  
**Source:** https://docs.rs/crate/fastly/0.13.1/source/src/experimental.rs#313

> **DEPRECATED:** The RequestHandleUpgradeWebsocket::handoff_websocket() trait method is now part of RequestHandle.

```rust
fn handoff_websocket(&mut self, backend: &str) -> Result<(), SendErrorCause>
```

See [`RequestHandle::handoff_websocket()`](https://www.fastly.com/documentation/reference/compute/sdks/rust/fastly/handle/struct.RequestHandle/#method-handoff_websocket).

**Parameters**

- `self`: `&mut Self`
- `backend`: `&str`

**Returns**

`Result<(), SendErrorCause>`
