WirePusher 1.0.0
dotnet add package WirePusher --version 1.0.0
NuGet\Install-Package WirePusher -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="WirePusher" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="WirePusher" Version="1.0.0" />
<PackageReference Include="WirePusher" />
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 WirePusher --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: WirePusher, 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 WirePusher@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=WirePusher&version=1.0.0
#tool nuget:?package=WirePusher&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
WirePusher C# Library
Official .NET client for WirePusher push notifications.
Installation
dotnet add package WirePusher
Quick Start
using WirePusher;
var client = new WirePusherClient("YOUR_TOKEN", null);
await client.SendAsync("Deploy Complete", "Version 1.2.3 deployed");
// With full options
var notification = new Notification
{
Title = "Deploy Complete",
Message = "Version 1.2.3 deployed",
Type = "deployment",
Tags = new[] { "production", "backend" }
};
await client.SendNotificationAsync(notification);
Features
// All parameters
var notification = new Notification
{
Title = "Deploy Complete",
Message = "Version 1.2.3 deployed",
Type = "deployment",
Tags = new[] { "production", "backend" },
ImageUrl = "https://example.com/success.png",
ActionUrl = "https://example.com/deploy/123"
};
await client.SendNotificationAsync(notification);
// AI-powered notifications (NotifAI)
var response = await client.NotifAIAsync("deployment finished, v2.1.3 is live");
// response contains AI-generated notification structure
// Encrypted messages
var encrypted = new Notification
{
Title = "Security Alert",
Message = "Sensitive data",
Type = "security",
EncryptionPassword = "your_password"
};
await client.SendNotificationAsync(encrypted);
Configuration
// Default configuration
var client = new WirePusherClient("abc12345", null);
// Custom timeout
var client = new WirePusherClient("abc12345", null, TimeSpan.FromSeconds(60));
// Custom retry attempts
var httpClient = new HttpClient { BaseAddress = new Uri("https://...") };
var client = new WirePusherClient("abc12345", null, httpClient, maxRetries: 5);
Error Handling
Use typed exceptions for error handling:
try
{
await client.SendAsync("Title", "Message");
}
catch (AuthenticationException ex)
{
// Invalid token (401/403) - not retried
Console.WriteLine($"Auth failed: {ex.Message}");
}
catch (RateLimitException ex)
{
// Rate limited (429) - automatically retried with backoff
Console.WriteLine($"Rate limited: {ex.Message}");
}
catch (ValidationException ex)
{
// Invalid parameters (400) - not retried
Console.WriteLine($"Validation error: {ex.Message}");
}
catch (ServerException ex)
{
// Server error (5xx) - automatically retried
Console.WriteLine($"Server error: {ex.Message}");
}
catch (NetworkException ex)
{
// Network/timeout error - automatically retried
Console.WriteLine($"Network error: {ex.Message}");
}
Automatic retry with exponential backoff for network errors, 5xx, and 429 (rate limit). Respects Retry-After headers.
ASP.NET Core Integration
// Program.cs
builder.Services.AddSingleton<IWirePusherClient>(sp =>
new WirePusherClient(builder.Configuration["WirePusher:Token"]!, null));
// Service
public class NotificationService(IWirePusherClient client)
{
public async Task NotifyAsync(string message) =>
await client.SendAsync("Alert", message);
}
Requirements
- .NET 6.0+
- Zero external dependencies (System.Net.Http, System.Text.Json)
- Full async/await with CancellationToken support
- Nullable reference types enabled
Links
- Get Token: App → Settings → Help → copy token
- Documentation: https://wirepusher.dev/help
- Repository: https://gitlab.com/wirepusher/wirepusher-csharp
- NuGet: https://www.nuget.org/packages/WirePusher/
- Advanced Docs: docs/ADVANCED.md
License
MIT
| Product | Versions 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 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.
-
net8.0
- No dependencies.
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 | 322 | 11/17/2025 |
| 1.0.0-alpha.13 | 259 | 11/17/2025 |
| 1.0.0-alpha.12 | 256 | 11/17/2025 |
| 1.0.0-alpha.11 | 255 | 11/17/2025 |