Definition
Assembly: CloudNimble.Breakdance.Assemblies.dll
Namespace: CloudNimble.Breakdance.Assemblies.Http
Inheritance: CloudNimble.Breakdance.Assemblies.Http.ResponseSnapshotHandlerBase
Syntax
CloudNimble . Breakdance . Assemblies . Http . ResponseSnapshotCaptureHandler
Summary
A DelegatingHandler that captures HTTP responses and saves them as snapshot files.
This handler passes requests through to the actual endpoint, then captures the response
and saves it as a snapshot file. This enables recording real API responses for later
replay during testing.
Use this handler during an initial recording phase to capture responses from third-party
APIs, then use ResponseSnapshotReplayHandler to replay those responses
during test execution without hitting live endpoints.
Examples
// Create a handler that captures responses to snapshot files
var innerHandler = new HttpClientHandler ();
var captureHandler = new ResponseSnapshotCaptureHandler ( "TestData/Snapshots" )
{
InnerHandler = innerHandler
};
var client = new HttpClient ( captureHandler );
// Requests go to the real endpoint, responses are saved as snapshots
var response = await client . GetAsync ( "https://api.example.com/users" );
Constructors
.ctor
Creates a new ResponseSnapshotCaptureHandler that saves response snapshots to the specified path.
Syntax
public ResponseSnapshotCaptureHandler ( string responseSnapshotsPath )
Parameters
Name Type Description responseSnapshotsPathstringRoot folder path for storing response snapshot files.
.ctor Inherited
Inherited from CloudNimble.Breakdance.Assemblies.Http.ResponseSnapshotHandlerBase
Creates a new ResponseSnapshotHandlerBase with the specified snapshot storage path.
Syntax
public ResponseSnapshotHandlerBase ( string responseSnapshotsPath )
Parameters
Name Type Description responseSnapshotsPathstringRoot folder path for storing response snapshot files.
Examples
var handler = new ResponseSnapshotReplayHandler ( "TestData/Snapshots" );
var client = new HttpClient ( handler );
Properties
ResponseSnapshotsPath Inherited
Inherited from CloudNimble.Breakdance.Assemblies.Http.ResponseSnapshotHandlerBase
Gets the root folder path where response snapshot files are stored.
Syntax
public string ResponseSnapshotsPath { get ; private set ; }
Property Value
Type: string
Methods
GetFileExtensionString Inherited
Inherited from CloudNimble.Breakdance.Assemblies.Http.ResponseSnapshotHandlerBase
Maps the MediaType header in the HttpRequestMessage to a known list of file extensions.
Syntax
public static string GetFileExtensionString ( System . Net . Http . HttpRequestMessage request )
Parameters
Name Type Description requestSystem.Net.Http.HttpRequestMessageThe request to examine.
Returns
Type: string
The file extension string for the request’s Accept header.
Exceptions
Exception Description ArgumentNullExceptionThrown when request is null.
GetPathInfo Inherited
Inherited from CloudNimble.Breakdance.Assemblies.Http.ResponseSnapshotHandlerBase
Parses the RequestUri in the HttpRequestMessage into a Path -safe string
suitable for storing response snapshots on the file system.
Syntax
internal static ( string , string ) GetPathInfo ( System . Net . Http . HttpRequestMessage request , string responseSnapshotsPath )
Parameters
Name Type Description requestSystem.Net.Http.HttpRequestMessageThe HttpRequestMessage to parse. responseSnapshotsPathstringRoot folder for storing snapshot files.
Returns
Type: (string, string)
A tuple containing the directory path and file path components.
Exceptions
Exception Description ArgumentExceptionThrown when the request has an invalid RequestUri. InvalidOperationExceptionThrown when the URI cannot be converted to a valid file path.
Inherited from CloudNimble.Breakdance.Assemblies.Http.ResponseSnapshotHandlerBase
Maps the file extension in the specified path to a known list of media types.
Syntax
public static string GetResponseMediaTypeString ( string filePath )
Parameters
Name Type Description filePathstringThe file path to examine.
Returns
Type: string
The MIME type string for the file extension.