Scintillating.ProxyProtocol.Parser
0.5.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Scintillating.ProxyProtocol.Parser --version 0.5.0
NuGet\Install-Package Scintillating.ProxyProtocol.Parser -Version 0.5.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="Scintillating.ProxyProtocol.Parser" Version="0.5.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Scintillating.ProxyProtocol.Parser --version 0.5.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Scintillating.ProxyProtocol.Parser, 0.5.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.
// Install Scintillating.ProxyProtocol.Parser as a Cake Addin #addin nuget:?package=Scintillating.ProxyProtocol.Parser&version=0.5.0 // Install Scintillating.ProxyProtocol.Parser as a Cake Tool #tool nuget:?package=Scintillating.ProxyProtocol.Parser&version=0.5.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Scintillating.ProxyProtocol.Parser is a .NET library for parsing PROXY protocol headers.
Quickstart
- The following example showcases how to use this library with
PipeReader
- Note that
pipeReader.AdvanceTo
should be only called once per read, so any additional reading should happen before it.
var cancellationToken = default(CancellationToken);
var pipe = new Pipe();
var pipeReader = pipe.Reader;
ProxyProtocolHeader? value = null;
var parser = new ProxyProtocolParser();
ReadResult readResult;
bool done = false;
do
{
cancellationToken.ThrowIfCancellationRequested();
readResult = await pipeReader.ReadAsync(cancellationToken)
.ConfigureAwait(false);
if (readResult.IsCanceled)
{
continue;
}
done = parser.TryParse(readResult.Buffer, out var advanceTo, out value);
if (!done && readResult.IsCompleted)
{
throw new InvalidOperationException("Incomplete PROXY protocol header");
}
pipeReader.AdvanceTo(advanceTo.Consumed, advanceTo.Examined);
}
while (!done);
// use the value
_ = value;
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Scintillating.ProxyProtocol.Parser:
Package | Downloads |
---|---|
Scintillating.ProxyProtocol.Middleware
ASP.NET Core middleware for HAProxy PROXY protocol (V1 and V2) |
GitHub repositories
This package is not used by any popular GitHub repositories.