Bsft.Http 2.2.0

dotnet add package Bsft.Http --version 2.2.0
                    
NuGet\Install-Package Bsft.Http -Version 2.2.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="Bsft.Http" Version="2.2.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Bsft.Http" Version="2.2.0" />
                    
Directory.Packages.props
<PackageReference Include="Bsft.Http" />
                    
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 Bsft.Http --version 2.2.0
                    
#r "nuget: Bsft.Http, 2.2.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 Bsft.Http@2.2.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=Bsft.Http&version=2.2.0
                    
Install as a Cake Addin
#tool nuget:?package=Bsft.Http&version=2.2.0
                    
Install as a Cake Tool

Bsft.Http

The HTTP primitives the framework's endpoints share: strong entity tags built from a content digest or a concurrency token, the canonical hash those digests come from, conditional-GET handling on If-None-Match, the strong If-Match comparison a conditional write is gated on, and RequiredPermissionsMetadata, the one endpoint-metadata record every package that maps routes uses to declare the permissions a route stands for.

Install

dotnet add package Bsft.Http

No further Bsft packages. It takes a framework reference on Microsoft.AspNetCore.App, because two of its types are extension methods on HttpRequest and HttpResponse.

Register

Nothing to register. Bsft.Http contributes no services and therefore has no AddBsftHttp — every type it ships is a static class of pure functions an endpoint or a handler calls directly, or a metadata record a route carries.

Configure

None. The package binds no configuration section and exposes no options type.

Option Default Effect
— — —

Validation: none. ConditionalWrite.IsMatchedBy rejects a blank current tag with an ArgumentException, and EntityTag sanitizes the digest it is handed, but neither is configuration.

ToVersionEntityTag digests the concurrency token so the storage value is not published verbatim. That is obfuscation rather than confidentiality: the digest is unkeyed, so a token drawn from a small range — a low monotonic counter — can be recovered by hashing the candidates. Use a high-entropy token where the write count is sensitive.

Extend

None. The package is deliberately made of static functions rather than seams: a tag that two hosts compute differently is a tag that pins every client to a revalidation loop, so the comparison and the digest are one implementation and are not replaceable. A caller that needs a different tag shape builds it itself and does not route through EntityTag.

Documentation

Topic page: docs/http.md. Conventions: docs/package-conventions.md.

Product Compatible and additional computed target framework versions.
.NET 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 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.
  • net8.0

    • No dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Bsft.Http:

Package Downloads
Bsft.Idempotency

BSFT Framework idempotent unsafe endpoints: an Idempotency-Key header, a request fingerprint, replay of the first response and a pluggable record store

Bsft.Localization

BSFT Framework DB-backed localization with tenant support

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.2.0 192 10/23/2026
2.1.0 204 9/28/2026