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

# TestCacheDelegatingHandlerBase

> Base class for implementation of TestCache handlers for unit testing.

## Definition

**Assembly:** CloudNimble.Breakdance.Assemblies.dll

**Namespace:** CloudNimble.Breakdance.Assemblies.Http

**Inheritance:** CloudNimble.Breakdance.Assemblies.Http.ResponseSnapshotHandlerBase

## Syntax

```csharp theme={"dark"}
CloudNimble.Breakdance.Assemblies.Http.TestCacheDelegatingHandlerBase
```

## Summary

Base class for implementation of TestCache handlers for unit testing.

## Remarks

This class is deprecated. Use [ResponseSnapshotHandlerBase](https://easyaf.nimbleapps.cloud/breakdance/api-reference/CloudNimble/Breakdance/Assemblies/Http/ResponseSnapshotHandlerBase.md) instead.

## Constructors

### &#x20;.ctor

Creates a new [TestCacheDelegatingHandlerBase](https://easyaf.nimbleapps.cloud/breakdance/api-reference/CloudNimble/Breakdance/Assemblies/Http/TestCacheDelegatingHandlerBase.md) with the specified root folder path.

#### Syntax

```csharp theme={"dark"}
public TestCacheDelegatingHandlerBase(string responseFilesPath)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `responseFilesPath` | `string` | Root folder path for storing static response files. |

#### Remarks

This constructor is deprecated. Use [ResponseSnapshotHandlerBase](https://easyaf.nimbleapps.cloud/breakdance/api-reference/CloudNimble/Breakdance/Assemblies/Http/ResponseSnapshotHandlerBase.md) instead.

### &#x20;.ctor Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.Breakdance.Assemblies.Http.ResponseSnapshotHandlerBase`

Creates a new [ResponseSnapshotHandlerBase](https://easyaf.nimbleapps.cloud/breakdance/api-reference/CloudNimble/Breakdance/Assemblies/Http/ResponseSnapshotHandlerBase.md) with the specified snapshot storage path.

#### Syntax

```csharp theme={"dark"}
public ResponseSnapshotHandlerBase(string responseSnapshotsPath)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `responseSnapshotsPath` | `string` | Root folder path for storing response snapshot files. |

#### Examples

```csharp theme={"dark"}
var handler = new ResponseSnapshotReplayHandler("TestData/Snapshots");
var client = new HttpClient(handler);
```

## Properties

### &#x20;ResponseFilesPath

Gets the root folder path for reading/writing static response files.

#### Syntax

```csharp theme={"dark"}
public string ResponseFilesPath { get; }
```

#### Property Value

Type: `string`

#### Remarks

This property is deprecated. Use [ResponseSnapshotHandlerBase.ResponseSnapshotsPath](https://easyaf.nimbleapps.cloud/breakdance/api-reference/CloudNimble/Breakdance/Assemblies/Http/ResponseSnapshotHandlerBase.md#responsesnapshotspath) instead.

### &#x20;ResponseSnapshotsPath Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.Breakdance.Assemblies.Http.ResponseSnapshotHandlerBase`

Gets the root folder path where response snapshot files are stored.

#### Syntax

```csharp theme={"dark"}
public string ResponseSnapshotsPath { get; private set; }
```

#### Property Value

Type: `string`

## Methods

### &#x20;GetFileExtensionString Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.Breakdance.Assemblies.Http.ResponseSnapshotHandlerBase`

Maps the MediaType header in the [HttpRequestMessage](https://learn.microsoft.com/dotnet/api/system.net.http.httprequestmessage) to a known list of file extensions.

#### Syntax

```csharp theme={"dark"}
public static string GetFileExtensionString(System.Net.Http.HttpRequestMessage request)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `request` | `System.Net.Http.HttpRequestMessage` | The request to examine. |

#### Returns

Type: `string`
The file extension string for the request's Accept header.

#### Exceptions

| Exception | Description |
| - | - |
| `ArgumentNullException` | Thrown when request is null. |

### &#x20;GetPathInfo Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.Breakdance.Assemblies.Http.ResponseSnapshotHandlerBase`

Parses the RequestUri in the [HttpRequestMessage](https://learn.microsoft.com/dotnet/api/system.net.http.httprequestmessage) into a [Path](https://learn.microsoft.com/dotnet/api/system.io.path)-safe string
suitable for storing response snapshots on the file system.

#### Syntax

```csharp theme={"dark"}
internal static (string, string) GetPathInfo(System.Net.Http.HttpRequestMessage request, string responseSnapshotsPath)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `request` | `System.Net.Http.HttpRequestMessage` | The [HttpRequestMessage](https://learn.microsoft.com/dotnet/api/system.net.http.httprequestmessage) to parse. |
| `responseSnapshotsPath` | `string` | Root folder for storing snapshot files. |

#### Returns

Type: `(string, string)`
A tuple containing the directory path and file path components.

#### Exceptions

| Exception | Description |
| - | - |
| `ArgumentException` | Thrown when the request has an invalid RequestUri. |
| `InvalidOperationException` | Thrown when the URI cannot be converted to a valid file path. |

### &#x20;GetResponseMediaTypeString Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.Breakdance.Assemblies.Http.ResponseSnapshotHandlerBase`

Maps the file extension in the specified path to a known list of media types.

#### Syntax

```csharp theme={"dark"}
public static string GetResponseMediaTypeString(string filePath)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `filePath` | `string` | The file path to examine. |

#### Returns

Type: `string`
The MIME type string for the file extension.


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