Skip to content

scottoffen/fluenthttpclient

FluentHttpClient

docs NuGet MIT Contributor Covenant FluentHttpClient Multi-targeted

FluentHttpClient brings a modern, chainable API to HttpClient, turning verbose request setup into clean, expressive fluency. It handles headers, options, cookies, query parameters, conditional configurators, buffering, and both JSON/XML serialization and deserialization, along with success and failure handlers, all with minimal ceremony. It multitargets from .NET Standard 2.0 all the way up through .NET 10, giving you broad compatibility across older runtimes and the latest platforms, with full Native AOT compatibility and strong-named assemblies.

Compatibility Matrix

FluentHttpClient is optimized for .NET 10 and the newest .NET releases, while also supporting older platforms through .NET Standard 2.1 and 2.0 for teams maintaining long-lived or legacy applications. It includes full Native AOT compatibility and provides strong-named assemblies for environments that require them.

Target Supported Notes
.NET Standard 2.0 ✔️ Broadest compatibility target
.NET Standard 2.1 ✔️ Improved modern API surface
.NET Framework 4.6.1+ ✔️ Via netstandard2.0
.NET 6 ✔️ LTS
.NET 7 ✔️
.NET 8 ✔️ LTS
.NET 9 ✔️
.NET 10 ✔️ LTS

.NETStandard Consumers

Projects targeting .NETStandard 2.0 or .NETStandard 2.1 do not include System.Text.Json in the framework. FluentHttpClient uses System.Text.Json internally for its JSON extensions, but the package is not referenced transitively.

If you are building against netstandard2.0 or netstandard2.1, or any TFM that does not ship System.Text.Json, you will need to add an explicit package reference with a minimum version of 6.0.10 (a higher version is always recommended):

<PackageReference Include="System.Text.Json" Version="6.0.10" />

Apps targeting modern TFMs (such as .NET 5 and later) already include System.Text.Json and do not require this step.

Installation

FluentHttpClient is available on NuGet.org and can be installed using a NuGet package manager or the .NET CLI.

Usage and Support

Contributing

We welcome contributions from the community! In order to ensure the best experience for everyone, before creating an issue or submitting a pull request, please see the contributing guidelines and the code of conduct. Failure to adhere to these guidelines can result in significant delays in getting your contributions included in the project.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Test Coverage

You can generate and open a test coverage report by running the following command in the project root:

pwsh ./test-coverage.ps1

Note

This is a Powershell script. You must have Powershell installed to run this command.

License

FluentHttpClient is licensed under the MIT license.

Using FluentHttpClient? We'd Love To Hear About It!

Few thing are as satisfying as hearing that your open source project is being used and appreciated by others. Jump over to the discussion boards and share the love!

About

Make sending REST requests with HttpClient both readable and chainable.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages