---
title: RequestUpgradeWebsocket
summary: An extension trait for Requests that adds a method for upgrading websockets.
url: https://www.fastly.com/documentation/reference/compute/sdks/rust/fastly/experimental/trait.RequestUpgradeWebsocket/
---

**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#229

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

An extension trait for [`Request`](https://www.fastly.com/documentation/reference/compute/sdks/rust/fastly/http/request/struct.Request/)s that adds a method for upgrading websockets.

## Methods

### handoff_fanout

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

> **DEPRECATED:** The RequestUpgradeWebsocket::handoff_fanout() trait method is now part of Request.

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

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

**Parameters**

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

**Returns**

`Result<(), SendError>`

### handoff_websocket

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

> **DEPRECATED:** The RequestUpgradeWebsocket::handoff_websocket() trait method is now part of Request.

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

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

**Parameters**

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

**Returns**

`Result<(), SendError>`
