Boomerang.Client.AspNetCore 1.0.0

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

Boomerang .NET SDK

Thin HTTP clients for the Boomerang async job API. These libraries do not issue JWTs or run Redis — they only call your deployed Boomerang service and help verify webhook signatures.

Packages

Package Purpose
Boomerang.Client BoomerangClient, models, BoomerangSignature (HMAC)
Boomerang.Client.AspNetCore [BoomerangWebhook] + filter for ASP.NET Core

Target framework: .NET 8.0 (LTS). Compatible with newer runtimes.

Sample app

See samples/README.md for Boomerang.Sample.Web, a small ASP.NET Core app that consumes the packages from a local artifacts feed (or from nuget.org once published) and includes a browser dashboard plus APIs for trigger, poll, failed-webhooks, and signed webhooks.

Install

dotnet add package Boomerang.Client
# optional — webhook receiver helpers
dotnet add package Boomerang.Client.AspNetCore

Usage — trigger and poll

Obtain a Bearer JWT from your identity stack (HS256, sub claim; same secret as boomerang.auth.jwt-secret on the server). Then:

using Boomerang.Client;
using Boomerang.Client.Models;

var client = new BoomerangClient(new BoomerangClientOptions
{
    BaseUrl = new Uri("http://localhost:8080/"),
    ApiPath = "/jobs",          // must match server boomerang.base-path
    Token = Environment.GetEnvironmentVariable("BOOMERANG_JWT")!,
    // Or: GetTokenAsync = async ct => await GetTokenFromYourIdP(ct),
});

var job = await client.TriggerAsync(new BoomerangTriggerRequest
{
    CallbackUrl = "https://yourapp.example.com/hooks/done",
    CallbackSecret = "optional-hmac-secret-min-32-chars!!",
});

var status = await client.PollAsync(job.JobId);
// status.Status: PENDING, IN_PROGRESS, DONE, FAILED

Usage — ASP.NET Core webhook

using Boomerang.Client.AspNetCore;
using Boomerang.Client.Models;

[ApiController]
[Route("hooks")]
public class HooksController : ControllerBase
{
    [HttpPost("done")]
    [BoomerangWebhook(SecretEnvironmentVariable = "WEBHOOK_SECRET")]
    public IActionResult OnDone([FromBody] BoomerangWebhookPayload payload)
    {
        // Signature already verified; payload matches Java BoomerangPayload JSON
        return Ok();
    }
}

Use the same secret you passed as callbackSecret when enqueueing.

[BoomerangWebhook] requires signed callbacks. Only use it when you pass CallbackSecret/callbackSecret at enqueue time; unsigned callbacks are rejected with 401.

Failed webhooks API

ListFailedWebhooksAsync, ReplayFailedWebhookAsync, and DeleteFailedWebhookAsync map to the Java controller routes under the same ApiPath.

Integration tests (optional)

Set environment variables and run dotnet test:

  • BOOMERANG_TEST_BASE_URL — e.g. http://localhost:8080/
  • BOOMERANG_JWT_SECRET — HS256 secret matching the running server

If unset, the integration test exits immediately (pass).

Integration scaffolding is in place, but full issue #10 coverage requires running these tests in CI against a live Boomerang instance.

Build from source

The solution includes Boomerang.Sample.Web, which restores Boomerang.Client packages from the repo-root artifacts folder. Pack the libraries first (or remove the sample from the solution) before dotnet restore / dotnet build on the full .sln.

cd boomerang-dotnet
dotnet pack src/Boomerang.Client/Boomerang.Client.csproj -c Release -o ../artifacts
dotnet pack src/Boomerang.Client.AspNetCore/Boomerang.Client.AspNetCore.csproj -c Release -o ../artifacts
dotnet build Boomerang.Client.sln -c Release
dotnet test Boomerang.Client.sln -c Release

See also

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

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
1.0.0 121 4/10/2026