---
title: HandleKind
summary: An enum representing the type of handles that exist within the Compute platform that point to resources on the host side that users can access or manipulate. Typically this enum is used as part of HandleError to let you know the type of handle involved when there is an error thrown while using the lower level handle interface
url: https://www.fastly.com/documentation/reference/compute/sdks/rust/fastly/error/enum.HandleKind/
---

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

```rust
#[non_exhaustive]
pub enum HandleKind {
    Response,
    Request,
    Body,
}
```

An enum representing the type of handles that exist within the Compute
platform that point to resources on the host side that users can access or
manipulate. Typically this enum is used as part of [`HandleError`](https://www.fastly.com/documentation/reference/compute/sdks/rust/fastly/error/enum.HandleError/) to let
you know the type of handle involved when there is an error thrown while
using the lower level handle interface

## Variants

### Response

This variant corresponds to the [`ResponseHandle`](https://www.fastly.com/documentation/reference/compute/sdks/rust/fastly/handle/) type

### Request

This variant corresponds to the [`RequestHandle`](https://www.fastly.com/documentation/reference/compute/sdks/rust/fastly/handle/) type

### Body

This variant corresponds to the [`BodyHandle`](https://www.fastly.com/documentation/reference/compute/sdks/rust/fastly/handle/) type

## Trait implementations

### impl Clone for HandleKind

#### clone

**Source:** https://docs.rs/crate/fastly/0.13.1/source/src/error.rs#121

```rust
fn clone(&self) -> Self
```

**Parameters**

- `self`: `&Self`

**Returns**

`Self`

### impl Debug for HandleKind

#### fmt

**Source:** https://docs.rs/crate/fastly/0.13.1/source/src/error.rs#121

```rust
fn fmt(&self, f: &mut Formatter<'_>) -> Result
```

**Parameters**

- `self`: `&Self`
- `f`: `&mut $crate::fmt::Formatter`

**Returns**

`$crate::fmt::Result`

### impl Display for HandleKind

#### fmt

**Source:** https://docs.rs/crate/fastly/0.13.1/source/src/error.rs#137

```rust
fn fmt(&self, f: &mut Formatter<'_>) -> Result
```

**Parameters**

- `self`: `&Self`
- `f`: `&mut fmt::Formatter`

**Returns**

`fmt::Result`

### impl PartialEq for HandleKind

#### eq

**Source:** https://docs.rs/crate/fastly/0.13.1/source/src/error.rs#121

```rust
fn eq(&self, other: &Self) -> bool
```

**Parameters**

- `self`: `&Self`
- `other`: `&Self`

**Returns**

`bool`

## Auto trait implementations

- `Freeze`
- `RefUnwindSafe`
- `Send`
- `Sync`
- `Unpin`
- `UnsafeUnpin`
- `UnwindSafe`

## Blanket implementations

- `Any`
- `Borrow<T>`
- `BorrowMut<T>`
- `CloneToUninit`
- `Downcast`
- `DowncastSync`
- `Equivalent<K>`
- `ErasedDestructor`
- `From<T>`
- `Into<U>`
- `IntoEither`
- `Same`
- `ToOwned`
- `ToString`
- `TryFrom<U>`
- `TryInto<U>`
