CasCap.Common.Net
4.11.5
Prefix Reserved
dotnet add package CasCap.Common.Net --version 4.11.5
NuGet\Install-Package CasCap.Common.Net -Version 4.11.5
<PackageReference Include="CasCap.Common.Net" Version="4.11.5" />
<PackageVersion Include="CasCap.Common.Net" Version="4.11.5" />
<PackageReference Include="CasCap.Common.Net" />
paket add CasCap.Common.Net --version 4.11.5
#r "nuget: CasCap.Common.Net, 4.11.5"
#:package CasCap.Common.Net@4.11.5
#addin nuget:?package=CasCap.Common.Net&version=4.11.5
#tool nuget:?package=CasCap.Common.Net&version=4.11.5
CasCap.Common.Net
Abstract base class, extensions, and authentication handlers for building typed HttpClient wrappers and securing ASP.NET Core APIs.
Installation
dotnet add package CasCap.Common.Net
Purpose
Provides HttpClientBase, an abstract class giving derived HTTP clients a consistent surface for GET, POST, PUT, and DELETE operations with automatic JSON (de)serialization. Network-related extension methods for headers and query strings are also included. Additionally provides BasicAuthenticationHandler for HTTP Basic authentication against ApiAuthConfig. The HttpClientBase and BasicAuthenticationHandler implementations are gated behind #if NET8_0_OR_GREATER.
Target frameworks: netstandard2.0, net8.0, net9.0, net10.0
Services
| Type | Description |
|---|---|
HttpClientBase |
Abstract base class — PostJsonAsync, PostBytesAsync, GetAsync, PutAsync, DeleteAsync with error handling |
Authentication
| Type | Description |
|---|---|
BasicAuthenticationHandler |
ASP.NET Core authentication handler validating HTTP Basic credentials against ApiAuthConfig. Skips authentication for paths matching ApiAuthConfig.AnonymousPathPrefixes (net8.0+ only) |
HTTP Auditing
| Type | Description |
|---|---|
HttpAuditHandler |
DelegatingHandler that captures HTTP request/response pairs and persists them via IHttpAuditStore (net8.0+ only) |
HttpAuditSource |
Defines the HttpRequestOptionsKey used to tag requests with a logical source name |
FileHttpAuditStore |
Lightweight file-based IHttpAuditStore that writes each audit entry as an individual JSON file organised into daily sub-folders (yyyy-MM-dd) |
Extensions
| Class | Key Methods |
|---|---|
NetExtensions |
HttpResponseHeaders.TryGetValue(), ToQueryString(), AddOrOverwrite() |
HttpClientBuilderResilienceExtensions |
AddStandardResilience() — adds retry, circuit breaker, and timeout via Microsoft.Extensions.Http.Resilience with structured logging |
HttpClientBuilderAuditExtensions |
AddHttpAuditing(sourceName) — adds HttpAuditHandler to the HTTP client pipeline to capture request/response audit entries (net8.0+ only) |
Class Hierarchy
Abstract base class pattern for typed HTTP clients:
classDiagram
direction TB
HttpClientBase <|-- YourCustomClient
HttpClientBase <|-- AnotherApiClient
class HttpClientBase {
<<abstract>>
#HttpClient HttpClient
#ILogger Logger
+PostJsonAsync~T~(uri, body) Task~T~
+PostBytesAsync(uri, bytes) Task~HttpResponseMessage~
+GetAsync~T~(uri) Task~T~
+PutAsync~T~(uri, body) Task~T~
+DeleteAsync(uri) Task~HttpResponseMessage~
#HandleError(response) void
}
class YourCustomClient {
+GetUsers() Task~User[]~
+CreateUser(user) Task~User~
+UpdateUser(id, user) Task~User~
+DeleteUser(id) Task
}
class AnotherApiClient {
+GetData() Task~Data~
+PostData(data) Task~Result~
}
HttpClientBase ..> ILogger : uses
HttpClientBase ..> HttpClient : uses
Usage Pattern:
- Inherit from
HttpClientBase - Inject
HttpClientandILoggervia constructor - Use built-in methods (
GetAsync,PostJsonAsync, etc.) for API calls - Override
HandleErrorfor custom error handling
Dependencies
NuGet Packages
| Package | Purpose |
|---|---|
Microsoft.Extensions.Http.Resilience |
Standard resilience handler (retry, circuit breaker, timeout) for IHttpClientBuilder (net8.0+ only) |
Project References
| Project | Purpose |
|---|---|
CasCap.Common.Abstractions |
ApiAuthConfig and IAppConfig abstractions |
CasCap.Common.Serialization.Json |
JSON serialization for request/response bodies |
CasCap.Common.Logging |
ApplicationLogging static logger factory |
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- CasCap.Common.Abstractions (>= 4.11.5)
- CasCap.Common.Logging (>= 4.11.5)
- CasCap.Common.Serialization.Json (>= 4.11.5)
-
net10.0
- CasCap.Common.Abstractions (>= 4.11.5)
- CasCap.Common.Logging (>= 4.11.5)
- CasCap.Common.Serialization.Json (>= 4.11.5)
- Microsoft.Extensions.Http.Resilience (>= 10.6.0)
-
net8.0
- CasCap.Common.Abstractions (>= 4.11.5)
- CasCap.Common.Logging (>= 4.11.5)
- CasCap.Common.Serialization.Json (>= 4.11.5)
- Microsoft.Extensions.Http.Resilience (>= 10.6.0)
-
net9.0
- CasCap.Common.Abstractions (>= 4.11.5)
- CasCap.Common.Logging (>= 4.11.5)
- CasCap.Common.Serialization.Json (>= 4.11.5)
- Microsoft.Extensions.Http.Resilience (>= 10.6.0)
NuGet packages (8)
Showing the top 5 NuGet packages that depend on CasCap.Common.Net:
| Package | Downloads |
|---|---|
|
CasCap.Apis.GooglePhotos
Fully featured .NET library/wrapper for the Google Photos REST API. This *unofficial* library enables programmatic access to the media items and albums of a Google Photos account. The library leverages the authentication in the official Google.Apis.Auth library and builds on that by encapsulating all REST API calls in an efficient wrapper returning strongly-typed objects. For more details about the underlying API see the official site, https://developers.google.com/photos For usage examples see the docs on github, https://github.com/f2calv/CasCap.Apis.GooglePhotos |
|
|
CasCap.Api.GooglePhotos
Fully featured .NET library/wrapper for the Google Photos REST API. This *unofficial* library enables programmatic access to the media items and albums of a Google Photos account. The library leverages the authentication in the official Google.Apis.Auth library and builds on that by encapsulating all REST API calls in an efficient wrapper returning strongly-typed objects. For more details about the underlying API see the official site, https://developers.google.com/photos For usage examples see the docs on github, https://github.com/f2calv/CasCap.Api.GooglePhotos |
|
|
CasCap.Apis.AzureDevOps
Azure DevOps helper/utility library. |
|
|
CasCap.Api.AzureDevOps
Azure DevOps helper/utility library. |
|
|
CasCap.Api.DoorBird
.NET client library for DoorBird IP video door station — captures doorbell, motion and RFID events via the local LAN API and dispatches them to configurable sinks. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.11.5 | 0 | 5/22/2026 |
| 4.11.4 | 94 | 5/20/2026 |
| 4.11.3 | 419 | 5/13/2026 |
| 4.11.2 | 122 | 5/11/2026 |
| 4.11.1 | 96 | 5/11/2026 |
| 4.11.0 | 346 | 5/8/2026 |
| 4.10.5 | 107 | 5/4/2026 |
| 4.10.4 | 109 | 5/2/2026 |
| 4.10.3 | 304 | 4/24/2026 |
| 4.10.2 | 105 | 4/24/2026 |
| 4.10.1 | 97 | 4/23/2026 |
| 4.10.0 | 86 | 4/23/2026 |
| 4.9.3 | 120 | 4/20/2026 |
| 4.9.2 | 109 | 4/19/2026 |
| 4.9.1 | 120 | 4/17/2026 |
| 4.9.0 | 133 | 4/15/2026 |
| 4.8.1 | 183 | 4/2/2026 |
| 4.8.1-2026-04-updates.8 | 65 | 4/2/2026 |
| 4.8.0 | 165 | 4/1/2026 |
| 4.7.1 | 300 | 3/13/2026 |