HttpAgent Released: Built-in Industrial-Grade HTTP Traffic Inspection Engine
HttpAgent 1.0 is officially released: a high-performance, flexible, and easy-to-use .NET HTTP open-source library with a built-in industrial-grade traffic inspection engine (Profiler) that completely eliminates the black box dilemma in third-party API integration.We are excited to announce the official release of HttpAgent — a high-performance, flexible, and easy-to-use HTTP open-source library for .NET 8+, providing comprehensive support for file transfer, polling, testing tools, real-time communication, request management, media type handling, MessagePack, Declarative Requests, and more.
Why HttpAgent
What is the most painful part of integrating third-party APIs? You cannot see exactly what your request sends or what the response returns. The traditional approach is to spin up Fiddler or Wireshark, configure proxies, install certificates, and filter traffic — five minutes of debugging, thirty minutes of setup.
HttpAgent ships with an industrial-grade HTTP traffic inspection engine (Profiler) that renders the complete request/response traffic directly in the console:
await httpRemoteService.GetAsync("https://furion.net/", builder => builder.Profiler()); // Enable request inspection with one lineThe console prints request headers, response headers, status codes, durations, and every other detail — no external tools required.
Core Capabilities at a Glance
- All request verbs:
GET,POST,PUT,DELETE,PATCH,HEAD,TRACE,OPTIONS,QUERY; - File transfer: upload/download, real-time progress, multi-threaded chunked downloads;
- Real-time communication:
SSE,WebSocket, standard/long polling; - Resilience: retries (exponential backoff), timeout control, exception suppression, extensible circuit breaker & fallback;
- Automatic Token management: auto refresh, auto injection, automatic retry on
401; - Quotas & caching: daily/weekly/monthly/lifetime quota windows,
ETagresponse caching; - Declarative Requests: interfaces + attribute annotations, with inheritance and object-oriented design;
- cURL import: fire requests directly from cURL command strings;
- Stress testing: built-in stress-testing tools with automatically generated reports.
Up and Running in One Minute
dotnet add package HttpAgentbuilder.Services.AddHttpRemote(); // Register the servicepublic class YourService(IHttpRemoteService httpRemoteService){ public async Task<string?> GetContent() => await httpRemoteService.GetAsStringAsync("https://furion.net/");}For the full progressive learning path, start with HTTP Remote Request Overview.
Acknowledgments
The project is hosted publicly on GitHub — stars, issues, and PRs are all welcome. We will keep publishing tutorials and best practices, so stay tuned to the blog.