TR.SimpleHttpServer
1.1.0
See the version list below for details.
dotnet add package TR.SimpleHttpServer --version 1.1.0
NuGet\Install-Package TR.SimpleHttpServer -Version 1.1.0
<PackageReference Include="TR.SimpleHttpServer" Version="1.1.0" />
<PackageVersion Include="TR.SimpleHttpServer" Version="1.1.0" />
<PackageReference Include="TR.SimpleHttpServer" />
paket add TR.SimpleHttpServer --version 1.1.0
#r "nuget: TR.SimpleHttpServer, 1.1.0"
#:package TR.SimpleHttpServer@1.1.0
#addin nuget:?package=TR.SimpleHttpServer&version=1.1.0
#tool nuget:?package=TR.SimpleHttpServer&version=1.1.0
TR.SimpleHttpServer
A lightweight, easy-to-use HTTP server library for .NET. Build HTTP and WebSocket servers with minimal code.
Features
✨ Simple API - Get your server running in just a few lines of code ⚡ Async/Await - Full async support for high-performance applications 🔌 WebSocket Ready - Native WebSocket communication support 📦 Cross-platform - .NET Standard 2.0+ compatible ✅ Production Ready - Fully tested and documented
Quick Start
Basic HTTP Server
using TR.SimpleHttpServer;
using System.Net;
async Task<HttpResponse> HandleRequest(HttpRequest request)
{
return new HttpResponse(
HttpStatusCode.OK,
"text/plain",
new System.Collections.Specialized.NameValueCollection(),
"Hello, World!"
);
}
using var server = new HttpServer(8080, HandleRequest);
server.Start();
// Server is now running on http://localhost:8080/
Console.ReadLine(); // Keep server running
WebSocket Server
using TR.SimpleHttpServer;
using TR.SimpleHttpServer.WebSocket;
async Task<WebSocketHandler?> SelectWebSocketHandler(string path)
{
return path == "/ws" ? HandleWebSocket : null;
}
async Task HandleWebSocket(HttpRequest request, WebSocketConnection connection)
{
while (connection.IsOpen)
{
var message = await connection.ReceiveMessageAsync(CancellationToken.None);
if (message.Type == WebSocketMessageType.Text)
{
await connection.SendTextAsync($"Echo: {message.GetText()}", CancellationToken.None);
}
}
}
using var server = new HttpServer(8080, HandleRequest, SelectWebSocketHandler);
server.Start();
Supported Frameworks
- .NET Standard 2.0
API Overview
HttpServer
Main class for running an HTTP server with optional WebSocket support.
Start()- Start the serverStop()- Stop the serverIsRunning- Check if server is runningPort- Get the listening port
HttpRequest
Represents an incoming HTTP request.
Method- HTTP method (GET, POST, etc.)Path- Request pathHeaders- HTTP headersQueryString- Query parametersBody- Request body as byte array
HttpResponse
Represents an HTTP response to send back.
- Status code
- Content-Type
- Custom headers
- Body (string or byte array)
WebSocket Classes
Complete WebSocket support for real-time bidirectional communication:
WebSocketConnection- Manage WebSocket connectionsWebSocketMessage- Handle WebSocket messagesWebSocketHandler- Process WebSocket events
Documentation
For more examples and detailed documentation, visit the GitHub repository.
License
MIT License - See LICENSE file for details
Support
| 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. |
-
.NETStandard 2.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.