NetEvolve.Http.Correlation.HttpClient
3.0.0
Prefix Reserved
dotnet add package NetEvolve.Http.Correlation.HttpClient --version 3.0.0
NuGet\Install-Package NetEvolve.Http.Correlation.HttpClient -Version 3.0.0
<PackageReference Include="NetEvolve.Http.Correlation.HttpClient" Version="3.0.0" />
<PackageVersion Include="NetEvolve.Http.Correlation.HttpClient" Version="3.0.0" />
<PackageReference Include="NetEvolve.Http.Correlation.HttpClient" />
paket add NetEvolve.Http.Correlation.HttpClient --version 3.0.0
#r "nuget: NetEvolve.Http.Correlation.HttpClient, 3.0.0"
#:package NetEvolve.Http.Correlation.HttpClient@3.0.0
#addin nuget:?package=NetEvolve.Http.Correlation.HttpClient&version=3.0.0
#tool nuget:?package=NetEvolve.Http.Correlation.HttpClient&version=3.0.0
NetEvolve.Http.Correlation.HttpClient
HTTP client delegating handler for forwarding correlation IDs in outgoing requests.
Overview
This package provides a DelegatingHandler implementation that automatically adds correlation IDs to outgoing HTTP requests. It ensures that correlation IDs flow through your distributed system by reading them from the current context and adding them to request headers.
Key Features
- Automatic Header Forwarding: Adds correlation ID to outgoing HTTP requests
- Context-Aware: Reads correlation ID from
IHttpCorrelationAccessor - Flexible Header Support: Supports
X-Correlation-ID(primary) andX-Request-ID(alternative) - Seamless Integration: Works with
IHttpClientFactoryandHttpClientBuilder - Multi-Framework Support: Compatible with .NET 8.0, 9.0, and 10.0
Installation
dotnet add package NetEvolve.Http.Correlation.HttpClient
Usage
Basic Setup
Configure HTTP client with correlation forwarding in your Program.cs:
using NetEvolve.Http.Correlation;
var builder = WebApplication.CreateBuilder(args);
// Register correlation services (from AspNetCore package)
builder.Services.AddHttpCorrelation();
// Configure HTTP client with correlation forwarding
builder.Services
.AddHttpClient("MyApiClient")
.WithHttpCorrelation();
var app = builder.Build();
app.UseHttpCorrelation();
app.Run();
Named Clients
Add correlation handling to specific HTTP clients:
builder.Services
.AddHttpClient<IMyService, MyService>(client =>
{
client.BaseAddress = new Uri("https://api.example.com");
})
.WithHttpCorrelation();
Typed Clients
Works seamlessly with typed HTTP clients:
public class MyApiClient
{
private readonly HttpClient _httpClient;
public MyApiClient(HttpClient httpClient)
{
_httpClient = httpClient;
}
public async Task<string> GetDataAsync()
{
// Correlation ID is automatically added to this request
return await _httpClient.GetStringAsync("/data");
}
}
// Registration
builder.Services
.AddHttpClient<MyApiClient>()
.WithHttpCorrelation();
How It Works
The HttpCorrelationIdHandler is a DelegatingHandler that:
- Retrieves the current correlation ID from
IHttpCorrelationAccessor - Adds the correlation ID to the outgoing request headers
- Respects the configured header preference (primary or alternative)
Related Packages
Required Package
- NetEvolve.Http.Correlation.Abstractions - Core abstractions and interfaces
Companion Packages
- NetEvolve.Http.Correlation.AspNetCore - ASP.NET Core middleware (required for
IHttpCorrelationAccessor) - NetEvolve.Http.Correlation.Ulid - ULID-based correlation ID provider
- NetEvolve.Http.Correlation.TestGenerator - Test-friendly provider
Dependencies
NetEvolve.Http.Correlation.AbstractionsMicrosoft.AspNetCore.App(Framework Reference)
License
Licensed under the MIT License. See LICENSE for details.
| Product | Versions 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 is compatible. 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. |
-
net10.0
- NetEvolve.Http.Correlation.Abstractions (>= 3.0.0)
-
net8.0
- NetEvolve.Http.Correlation.Abstractions (>= 3.0.0)
-
net9.0
- NetEvolve.Http.Correlation.Abstractions (>= 3.0.0)
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 |
|---|---|---|
| 3.0.0 | 175 | 11/23/2025 |
| 2.3.56 | 178 | 10/20/2025 |
| 2.3.3 | 256 | 5/4/2025 |
| 2.3.1 | 209 | 4/9/2025 |
| 2.2.85 | 177 | 9/12/2024 |
| 2.2.75 | 162 | 8/26/2024 |
| 2.2.44 | 162 | 6/11/2024 |
| 2.2.15 | 186 | 5/21/2024 |
| 2.2.11 | 180 | 5/21/2024 |
| 2.2.2 | 192 | 5/17/2024 |
| 2.1.13 | 185 | 5/15/2024 |
| 2.1.7 | 195 | 4/8/2024 |
| 2.1.0 | 191 | 4/4/2024 |
| 2.0.0 | 191 | 4/4/2024 |
| 1.2.36 | 206 | 2/20/2024 |
| 1.2.13 | 260 | 1/5/2024 |
| 1.2.4 | 184 | 1/3/2024 |
| 1.2.1 | 209 | 1/1/2024 |
| 1.1.69 | 194 | 11/28/2023 |
| 1.1.39 | 196 | 10/7/2023 |
| 1.1.19 | 211 | 8/28/2023 |
| 1.1.18 | 214 | 8/28/2023 |
| 1.1.12 | 217 | 8/28/2023 |
| 1.1.0 | 250 | 7/3/2023 |