BirdMessenger 2.1.0-bata
This is a prerelease version of BirdMessenger.
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 BirdMessenger --version 2.1.0-bata
NuGet\Install-Package BirdMessenger -Version 2.1.0-bata
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.
For projects that support PackageReference, copy this XML node into the project file to reference the package.
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 BirdMessenger --version 2.1.0-bata
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: BirdMessenger, 2.1.0-bata"
#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 BirdMessenger@2.1.0-bata
#: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=BirdMessenger&version=2.1.0-bata&prerelease
#tool nuget:?package=BirdMessenger&version=2.1.0-bata&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Documentation
Getting started
// file to be uploaded
FileInfo fileInfo = new FileInfo("test.txt");
// remote tus service
var hostUri = new Uri(@"http://localhost:5000/files");
// build a standalone tus client instance
var tusClient = TusBuild.DefaultTusClientBuild(hostUri).Build();
//hook up events
tusClient.UploadProgress += printUploadProcess;
tusClient.UploadFinish += uploadFinish;
//define additional file metadata
MetadataCollection metadata = new MetadataCollection();
metadata["filename"] = fileInfo.FullName;
//create upload url
var fileUrl = await tusClient.Create(fileInfo, metadata);
//upload file
var uploadResult = await tusClient.Upload(fileUrl, fileInfo);
Subscribe upload events
Delegate prototype
///
/// tus client delegate
///
delegate void TusUploadDelegate(ITusClient source, ITusUploadContext tusUploadContext);
ITusClient events
///
/// upload completition event
///
event TusUploadDelegate UploadFinish;
///
/// upload progress event
///
event TusUploadDelegate UploadProgress;
- UploadFinish: It is invoked when the file has been uploaded
- UploadProgress: This method is used to notify the progress of the upload
ITusUploadContext specification
The field definition for ITusUploadContext is as follows:
- public long TotalSize { get; } : Total size of upload File
- public long UploadedSize { get; set; } : Total uploaded size
- public FileInfo UploadFileInfo { get; } : Upload file info
- public Uri UploadFileUrl { get;} : URl of upload file
Building an ITusClient instance
Build standalone ITusClient by TusBuild.DefaultTusClientBuild
// returns an isolated instance of ITusClient
var tusClient = TusBuild.DefaultTusClientBuild(tusHost).Build();
Build ITusClient using Dependency Injection
Non-specific ITusClient configuration
public static void ConfigureServices(IServiceCollection services)
{
services.AddTusClient(tusHost);
}
public class Example
{
public Example(ITusClient tusClient)
{
...
}
}
Specific ITusClient configuration based on targeted service
public static void ConfigureServices(IServiceCollection services)
{
services.AddTusClient(tusHost);
}
public class Example
{
public Example(ITusClient tusClient)
{
...
}
}
- tusHost is tus server Url
- by default, every HTTP request is sent with a "Tus-Resumable: 1.0.0" header (except for Options requests)
ITusClient configuration
- All three configuration methods can be called with either an URI or a configuration action
Basic configuration
Action configure = (options) => {
options.TusHost = tusHost;
options.GetChunkUploadSize = (src, ctx) => 1 * 1024 * 1024; // 1 mega byte per upload request
options.FileNameMetadataName = "fileName"; // default creation metadata
};
TusDefaultBuilder tusClientBuilder = TusBuild.DefaultTusClientBuild(configure);
OR
TusHttpClientBuilder tusClientBuilder = services.AddTusClient(configure);
OR
TusHttpClientBuilder tusClientBuilder = services.AddTusClient(configure);
HttpClient configuration
var tusClientBuilder = TusBuild.DefaultTusClientBuild(configure);
// OR
// var tusClientBuilder = TusBuild.DefaultTusClientBuild(tusHost);
tusClientBuilder.Configure((TusClientOptions options, IHttpClientBuilder httpClientBuilder) => {
//configure either options or httpClientBuilder
});
- TusHttpClientBuilder has 3 main methods:
public TusHttpClientBuilder Configure(Action builder);
public TusHttpClientBuilder ConfigureCore(Action builder);
public TusHttpClientBuilder ConfigureExtension(Action builder);
- TusDefaultBuilder inherits TusHttpClientBuilder
- Configure will call both ConfigureCore and ConfigureExtension to configure the HttpClient used by either the Core of tus or the Extension of tus
- tus uses two different HttpClient for core and extensions, you may configure each as you need
Polly Integration
| 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 | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- Microsoft.Extensions.DependencyInjection (>= 2.2.0)
- Microsoft.Extensions.Http (>= 2.2.0)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on BirdMessenger:
| Package | Downloads |
|---|---|
|
Hopex.ApplicationServer.Extensions.Package
Hopex Application Server Packager |
|
|
Supabase.Storage
Supabase Storage client for .NET for buckets, uploads, resumable uploads, downloads, signed URLs and image transforms. |
|
|
Meshmakers.Octo.Sdk.ServiceClient
Client side proxies to communicate with octo mesh services. |
|
|
Codehard.FileService.Client
A client library for Codehard's File Service. |
|
|
TheFusionWorks.Platforms
These are base utility classes developed by The Fusion Works which other packages and applications are built off. |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on BirdMessenger:
| Repository | Stars |
|---|---|
|
supabase/supabase-csharp
A C# Client library for Supabase
|
| Version | Downloads | Last Updated | |
|---|---|---|---|
| 4.0.0 | 62,976 | 6/6/2026 | |
| 4.0.0-preview.1 | 510 | 2/8/2026 | |
| 4.0.0-beta1 | 121 | 4/7/2026 | |
| 3.1.4 | 82,651 | 10/28/2024 | |
| 3.1.3 | 15,171 | 5/21/2024 | |
| 3.1.2 | 43,767 | 10/7/2023 | |
| 3.1.1 | 2,604 | 8/14/2023 | |
| 3.1.0 | 17,855 | 11/27/2022 | |
| 3.0.2 | 1,184 | 11/8/2022 | |
| 3.0.1 | 847 | 11/8/2022 | |
| 3.0.0 | 1,329 | 10/17/2022 | |
| 3.0.0-beta1 | 541 | 8/14/2022 | |
| 2.2.1 | 149,756 | 6/11/2022 | |
| 2.2.0 | 5,006 | 3/6/2022 | |
| 2.1.0-bata | 514 | 10/17/2021 | |
| 2.0.1 | 317,209 | 3/2/2021 | |
| 2.0.0 | 338,430 | 10/23/2020 | |
| 1.0.1 | 774 | 7/26/2020 | |
| 0.1.6 | 807 | 11/18/2019 | |
| 0.1.5 | 1,092 | 11/17/2019 |
Loading failed