Agash.Webhook.Abstractions 1.0.1

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

Agash.Webhook.Abstractions

Transport-neutral webhook contracts for modern .NET applications and libraries.

This package keeps the core webhook handling surface intentionally small:

  • request and response value types
  • a normalized handler contract
  • a result model for accepted, rejected, and ignored webhook processing

It is meant to be reused by platform-specific webhook libraries without forcing an ASP.NET Core dependency or a product-specific architecture.

Package

dotnet add package Agash.Webhook.Abstractions

What it provides

  • WebhookRequest for normalized inbound webhook payloads
  • WebhookResponse for transport-neutral HTTP-style responses
  • WebhookHandleResult for explicit handler outcomes
  • IWebhookHandler for library or host integrations

Minimal example

using Agash.Webhook.Abstractions;

public sealed class SampleWebhookHandler : IWebhookHandler
{
    public ValueTask<WebhookHandleResult> HandleAsync(WebhookRequest request, CancellationToken cancellationToken = default)
    {
        if (request.Body.Length == 0)
        {
            return ValueTask.FromResult(
                WebhookHandleResult.Rejected(
                    WebhookResponse.BadRequest("Request body is required.")));
        }

        return ValueTask.FromResult(WebhookHandleResult.Accepted());
    }
}

Design goals

  • no web framework dependency
  • explicit request and response modeling
  • easy to compose into ASP.NET Core, worker services, desktop apps, or test hosts
  • suitable as a base abstraction for higher-level webhook client libraries

Development

dotnet test Agash.Webhook.Abstractions.slnx
Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  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.
  • net9.0

    • No dependencies.

NuGet packages (9)

Showing the top 5 NuGet packages that depend on Agash.Webhook.Abstractions:

Package Downloads
KoFi.Client

Typed, transport-neutral .NET client library for Ko-fi webhook processing.

Fourthwall.Client

Typed .NET client library for the Fourthwall Platform API and webhooks.

Tiltify.Client

Typed .NET client library for the Tiltify v5 API and webhooks.

Patreon.Client

Modern .NET 10 Patreon API v2 client library with full webhook support, JSON:API relationship resolution, and automatic webhook management.

Kick.Client

Typed .NET client library for the Kick Platform API, OAuth 2.1 PKCE flow, and RSA-verified webhooks.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.1 366 4/15/2026
1.0.0 716 3/27/2026