FireflyHttp 2.0.0
See the version list below for details.
dotnet add package FireflyHttp --version 2.0.0
NuGet\Install-Package FireflyHttp -Version 2.0.0
<PackageReference Include="FireflyHttp" Version="2.0.0" />
<PackageVersion Include="FireflyHttp" Version="2.0.0" />
<PackageReference Include="FireflyHttp" />
paket add FireflyHttp --version 2.0.0
#r "nuget: FireflyHttp, 2.0.0"
#:package FireflyHttp@2.0.0
#addin nuget:?package=FireflyHttp&version=2.0.0
#tool nuget:?package=FireflyHttp&version=2.0.0
📦 Package Name
FireflyHttp
FireflyHttp is a lightweight and easy-to-use C# HTTP request library inspired by Python's requests. It simplifies HTTP calls with minimal configuration and supports JSON and XML requests.
Installation
Install via NuGet:
dotnet add package FireflyHttp
How to use
using FireflyHttp;
GET Request
var response = await Firefly.Get("https://httpbin.org/get");
Console.WriteLine(response);
GET Request with Headers
var response = await Firefly.Get("https://httpbin.org/get", new { Authorization = "Bearer YOUR_TOKEN" });
Console.WriteLine(response);
POST Request (JSON)
var data = new { name = "Firefly", version = "1.0" };
var response = await Firefly.Post("https://httpbin.org/post", data);
Console.WriteLine(response);
PUT Request (JSON)
var data = new { name = "Firefly", version = "2.0" };
var response = await Firefly.Put("https://httpbin.org/put", data);
Console.WriteLine(response);
DELETE Request
var response = await Firefly.Delete("https://httpbin.org/delete");
Console.WriteLine(response);
POST Request (XML)
// using raw XML string payload
var data = "<ExampleModel><Id>1</Id><Name>Firefly XML</Name></ExampleModel>";
var response = await Firefly.PostXml("https://httpbin.org/post", data);
Console.WriteLine(response);
// using object to serialize to XML
var data = new ExampleModel { Id = 1, Name = "Firefly XML" };
var response = await Firefly.PostXml("https://httpbin.org/post", data);
Console.WriteLine(response);
WebSocket Simple Connection
var webSocket = await FireflyWebSocket.ConnectAsync("wss://example.com/socket");
await webSocket.SendAsync("Hello from Firefly!"); // for text based events
await webSocket.SendBinaryAsync(new byte[] { 1, 2, 3, 4 }); //for binary based events
// event handling for incoming Text, Binary & Errors
webSocket.OnMessageReceived += text => Console.WriteLine($"Received: {text}");
webSocket.OnBinaryReceived += data => Console.WriteLine($"Received: {data}");
webSocket.OnError += ex => Console.WriteLine($"Error: {ex.Message}");
Features
✔️ Simple and clean API for making HTTP requests. ✔️ Supports JSON and XML payloads. ✔️ Custom headers support. ✔️ Configurable request timeout. ✔️ Logging support. ✔️ WebSocket real-time events communications.
License
MIT License
Changelog
v1.1.0
- Support BaseAddress so users can configure it once instead of repeating full URLs.
- Support default headers to avoid setting them manually for every request.
- Change headers input parameter to
Dictionary<string, string>for better usability.
v1.2.0
- Added support for
MultipartFormDataContent. - Improved error handling.
v1.3.0
Added
DownloadFileAsStreamfor handling stream response.Support automatic response deserialization (JSON & XML)
Improved request logging.
Optimized request handling for performance improvements.
v2.0.0
Added
FireflyWebSocketfor real-time (bi-directional) event communication with automatic reconnection.Handles text and binary events.
Added optional logging support.
| 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. |
-
net8.0
- Microsoft.Extensions.Logging (>= 8.0.1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on FireflyHttp:
| Package | Downloads |
|---|---|
|
FireflyTester
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
FireflyHttp v2.0.0 - New Features and Improvements
- Added FireflyWebSocket for real-time, bi-directional communication.
- Supports automatic reconnection with exponential backoff.
- Handles text and binary messages seamlessly.
- Added optional logging for flexibility.
WebSockets are now fully integrated into FireflyHttp, but usage remains completely optional.
If you were previously using a separate WebSocket client, you can now leverage FireflyHttp's built-in support
for a simpler and more streamlined experience.
This updates maintains full compatibility with previous versions—no breaking changes introduced
For implementation examples, checkout https://github.com/rocklessg/FireflyHttp/tree/main/FireflyTester