Back to the work
WebSpark.HttpClientUtility
Project

WebSpark.HttpClientUtility

Drop-in HttpClient wrapper for .NET 8-10+ with Polly resilience, response caching, OpenTelemetry tracing, and a separate Crawler package. One-line setup replaces 50+ lines of boilerplate.

WebSpark.HttpClientUtility preview
NuGet Package.NETHTTP ClientPollyOpenTelemetryResilienceCachingWeb Crawler

The story

The HTTP plumbing my own projects run on, with thousands of NuGet downloads.

Problem
Every .NET app reinvents the same HttpClient code for retries, caching and telemetry, and the reasons behind those choices tend to live only in someone's head.
Decision
Package it once, hold it to a published quality bar, and write the decisions down. Four consecutive DevSpark specs turned undocumented habits into recorded standards.
Implementation
A documentation site; a zero-warning build with full XML docs and hundreds of passing tests; a split into a base package and a crawler extension with lockstep versioning and atomic publishing; and batch execution with P50/P95/P99 statistics.
Outcome
The base package dropped from 13 to 9 dependencies and shrank by more than 40%, with zero unexpected breaking changes for existing users.
Read the full story

Overview

Drop-in HttpClient wrapper for .NET 8-10+ with Polly resilience, response caching, OpenTelemetry tracing, and a separate Crawler package. One-line setup replaces 50+ lines of boilerplate.

Details

WebSpark.HttpClientUtility is a drop-in HttpClient wrapper for .NET 8-10+ with Polly resilience (retries, circuit breakers), response caching, correlation IDs, and OpenTelemetry tracing — configured in one AddHttpClientUtility() call. Includes a separate Crawler package for web scraping. hundreds of passing unit tests.

Articles that explain the architecture decisions, implementation patterns, or delivery trade-offs behind this project.

Delivery Pipeline

Pipeline
.NET Build and Publish
Stage
Production
Status
Active
Notes
Published to NuGet.org with automated CI/CD pipeline.
Environments
  • NuGet.orghttps://www.nuget.org/packages/WebSpark.HttpClientUtilityStatus: ActivePublic NuGet package registry