Raycynix.Extensions.Messaging.HttpJson
2.2.0
dotnet add package Raycynix.Extensions.Messaging.HttpJson --version 2.2.0
NuGet\Install-Package Raycynix.Extensions.Messaging.HttpJson -Version 2.2.0
<PackageReference Include="Raycynix.Extensions.Messaging.HttpJson" Version="2.2.0" />
<PackageVersion Include="Raycynix.Extensions.Messaging.HttpJson" Version="2.2.0" />
<PackageReference Include="Raycynix.Extensions.Messaging.HttpJson" />
paket add Raycynix.Extensions.Messaging.HttpJson --version 2.2.0
#r "nuget: Raycynix.Extensions.Messaging.HttpJson, 2.2.0"
#:package Raycynix.Extensions.Messaging.HttpJson@2.2.0
#addin nuget:?package=Raycynix.Extensions.Messaging.HttpJson&version=2.2.0
#tool nuget:?package=Raycynix.Extensions.Messaging.HttpJson&version=2.2.0
Raycynix.Extensions.Messaging.HttpJson
Raycynix.Extensions.Messaging.HttpJson contains the direct HTTP JSON transport for Raycynix messaging.
What it contains
AddHttpJson(...)HttpJsonMessagingConfigurationIHttpJsonRequestClient- HTTP request/response transport over
HttpClient - JSON serialization through the shared
Newtonsoft.Jsoncodec fromRaycynix.Extensions.Messaging
What it does not contain
- broker integration
- background consumers
- API gateway features
Usage
Example appsettings.json:
{
"HttpJsonMessagingConfiguration": {
"BaseAddress": "https://catalog-service",
"TimeoutSeconds": 30
}
}
Register the transport:
builder.Services.AddRaycynixMessaging(builder.Configuration)
.AddHttpJson(builder.Configuration);
Send a direct request:
public class CatalogClient(
IRequestEnvelopeFactory envelopeFactory,
IHttpJsonRequestClient requestClient)
{
public async Task<CatalogItemResponse> GetItemAsync(string sku, CancellationToken cancellationToken)
{
var request = envelopeFactory.Create(
new CatalogItemRequest(sku),
destination: "/api/catalog/items/get",
format: MessageFormat.Json);
var response = await requestClient.SendAsync<CatalogItemRequest, CatalogItemResponse>(
request,
cancellationToken);
return response.Response;
}
}
Notes:
destinationis used as the relative request path- payload serialization uses the shared
Newtonsoft.Jsoncodec fromRaycynix.Extensions.Messaging - contract, correlation, trace, and security headers are propagated automatically
Logging
The HTTP JSON transport uses optional Microsoft ILogger<T> diagnostics when logging is registered in the application. No Raycynix logging provider is required.
Diagnostics cover request send/receive status, inbound processing, mapped failure statuses, and handler lookup failures. Request and response payloads, header values, and authorization data are not logged.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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
- Microsoft.Extensions.Http (>= 10.0.9)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.9)
- Raycynix.Extensions.Messaging (>= 2.2.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Starts unified versioning for Raycynix packages from this release and adds optional Microsoft.Extensions.Logging diagnostics for HTTP JSON messaging.