Feast.Extensions.Http.Buffering
0.1.0
dotnet add package Feast.Extensions.Http.Buffering --version 0.1.0
NuGet\Install-Package Feast.Extensions.Http.Buffering -Version 0.1.0
<PackageReference Include="Feast.Extensions.Http.Buffering" Version="0.1.0" />
<PackageVersion Include="Feast.Extensions.Http.Buffering" Version="0.1.0" />
<PackageReference Include="Feast.Extensions.Http.Buffering" />
paket add Feast.Extensions.Http.Buffering --version 0.1.0
#r "nuget: Feast.Extensions.Http.Buffering, 0.1.0"
#:package Feast.Extensions.Http.Buffering@0.1.0
#addin nuget:?package=Feast.Extensions.Http.Buffering&version=0.1.0
#tool nuget:?package=Feast.Extensions.Http.Buffering&version=0.1.0
Feast.Extensions.Http.Buffering
Don't
EnableBuffering()in reverse proxy!
📕 Usage
EnableSwitchableBuffering() returns IDisposable
call or auto dispose to stop buffering
async (HttpContext context, RequestDelegate next) =>
{
using(context.Request.EnableSwitchableBuffering())
{
//process your request
}//auto stop buffering before pass your request
await next(context);
}
❓Why
EnableBuffering() performed well in end-point api,
however in proxy layer we don't always need to check the whole request body.
When doing proxy, the request body will be completely read and cached, even if we don't need it.
So we have to find a way to cache the part we need and stop buffering before starting the proxy.
Thus the method, EnableSwitchableBuffering()
| Product | Versions 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. |
-
.NETStandard 2.1
- Microsoft.AspNetCore.Http.Abstractions (>= 1.0.0)
- Microsoft.AspNetCore.WebUtilities (>= 1.0.0)
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 |
|---|---|---|
| 0.1.0 | 202 | 12/13/2025 |
Initial