SwiftHttp 1.0.0

dotnet add package SwiftHttp --version 1.0.0
                    
NuGet\Install-Package SwiftHttp -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SwiftHttp" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SwiftHttp" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="SwiftHttp" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SwiftHttp --version 1.0.0
                    
#r "nuget: SwiftHttp, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SwiftHttp@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SwiftHttp&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=SwiftHttp&version=1.0.0
                    
Install as a Cake Tool

SwiftHttp

NuGet License: MIT

SwiftHttp is a lightweight, safe, and efficient HTTP client for .NET Standard 2.1
with built-in transient error handling, configurable retries, and jittered exponential backoff.

Designed for high-performance applications that need resilience without the weight of large dependencies.


๐Ÿš€ Installation

dotnet add package SwiftHttp

๐Ÿ’ก Example Usage

using SwiftHttp;
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        var client = new SwiftHttpClient(new SwiftHttpOptions
        {
            MaxRetries = 3,
            BaseDelay = TimeSpan.FromMilliseconds(200),
            MaxDelay = TimeSpan.FromSeconds(10),
            UseJitter = true
        });

        using var response = await client.GetAsync("https://httpbin.org/status/503");
        Console.WriteLine($"Status: {response.StatusCode}");
    }
}

โœจ Features

  • .NET Standard 2.1
  • Configurable max retries and backoff
  • Jittered exponential backoff to avoid retry storms
  • Respects Retry-After header for polite API usage
  • Prevents socket exhaustion by reusing HttpClient
  • Handles common transient errors (HTTP 408, 429, 5xx, timeouts)
  • Small and dependency-free

๐Ÿงช Running Tests

dotnet test

๐Ÿ“ฆ Project Structure

src/SwiftHttp/           # Library
tests/SwiftHttp.Tests/   # Unit tests
examples/ConsoleDemo/    # Sample console app

๐Ÿค Contributing

Contributions are welcome!

  1. Fork the repo
  2. Create a feature branch
  3. Submit a pull request

๐Ÿ“œ License

MIT License โ€“ see LICENSE for details.
Copyright (c) 2025 Junilo Pagobo


Product 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 was computed.  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 was computed.  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 was computed.  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 netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.1

    • No dependencies.

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
1.0.0 198 8/8/2025