Jakapil.Capture 1.0.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package Jakapil.Capture --version 1.0.1
                    
NuGet\Install-Package Jakapil.Capture -Version 1.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Jakapil.Capture" Version="1.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Jakapil.Capture" Version="1.0.1" />
                    
Directory.Packages.props
<PackageReference Include="Jakapil.Capture" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Jakapil.Capture --version 1.0.1
                    
#r "nuget: Jakapil.Capture, 1.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Jakapil.Capture@1.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Jakapil.Capture&version=1.0.1
                    
Install as a Cake Addin
#tool nuget:?package=Jakapil.Capture&version=1.0.1
                    
Install as a Cake Tool

Jakapil.Capture

Jakapil Capture is an ASP.NET Core middleware SDK that captures HTTP traffic from running .NET APIs. You add it to your application as a single line of middleware; it captures incoming requests, outgoing responses, and correlation signals in the background — without blocking the request path — and exports them to a Jakapil collector.

The captured traffic is turned into self-verifying test scenarios on the Jakapil side. The middleware is designed to be safe under production load: the response always streams to the client without buffering, the capture copy is bounded, and the queue drops the oldest entries under backpressure (it never blocks the request pipeline).

Installation

dotnet add package Jakapil.Capture

Usage

Register the service and add the middleware to the pipeline in Program.cs:

builder.Services.AddJakapilCapture(
    ingestKey: builder.Configuration["Jakapil:Capture:IngestKey"]!,
    collectorUri: "https://collector.jakapil.example");

// ...

app.UseJakapilCapture();

ingestKey is your ingest key and is sent to the collector verbatim in the X-Jakapil-Key header — so it must be supplied only through an environment variable / secret and never hard-coded. collectorUri is the collector address where captured interactions are sent.

If you need finer control, you can use the overload that takes an Action<JakapilCaptureOptions>:

builder.Services.AddJakapilCapture(options =>
{
    options.IngestKey = builder.Configuration["Jakapil:Capture:IngestKey"]!;
    options.CollectorUri = "https://collector.jakapil.example";
    options.SampleRate = 0.25;
});

Configuration options

Option Type Default Description
Enabled bool true Main on/off switch. When false, the middleware is a pure passthrough.
SampleRate double 1.0 The fraction of requests to capture, [0, 1]. 1.0 = capture everything.
CollectorUri string? null The root address of the collector where captured interactions are sent. If left empty, the export worker stays idle.
IngestKey string? null The raw ingest key sent to the collector in the X-Jakapil-Key header.
MaxInlineBodyBytes int 1048576 (1 MiB) Bodies at or below this size are captured inline; larger ones are truncated and flagged as Truncated.

Other settings (MaxCapturedResponseBytes, StreamingContentTypes, QueueCapacity, SensitiveHeaderNames, CorrelationHeaderNames, ExportBatchMaxItems, ExportFlushIntervalSeconds) ship with sensible defaults; see the JakapilCaptureOptions XML documentation comments for details.

License

MIT

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.0 120 8/19/2026
1.4.0 119 8/11/2026
1.3.1 118 8/4/2026
1.2.1 102 7/29/2026
1.2.0 104 7/29/2026
1.1.0 116 7/17/2026
1.0.1 146 7/13/2026
1.0.0 118 7/13/2026