Orion.Core.Server.Web
0.30.1
dotnet add package Orion.Core.Server.Web --version 0.30.1
NuGet\Install-Package Orion.Core.Server.Web -Version 0.30.1
<PackageReference Include="Orion.Core.Server.Web" Version="0.30.1" />
<PackageVersion Include="Orion.Core.Server.Web" Version="0.30.1" />
<PackageReference Include="Orion.Core.Server.Web" />
paket add Orion.Core.Server.Web --version 0.30.1
#r "nuget: Orion.Core.Server.Web, 0.30.1"
#:package Orion.Core.Server.Web@0.30.1
#addin nuget:?package=Orion.Core.Server.Web&version=0.30.1
#tool nuget:?package=Orion.Core.Server.Web&version=0.30.1
Orion.Core.Server.Web
Web API and HTTP interface for the Orion IRC Server project.
IRC is not dead, long live IRC!
About
Orion.Core.Server.Web provides the web API and HTTP interface for the Orion IRC Server. This library allows you to add a web-based management interface, REST APIs, and other HTTP-based functionality to your Orion IRC Server implementation.
Installation
dotnet add package Orion.Core.Server.Web
Or using the Package Manager Console:
Install-Package Orion.Core.Server.Web
Key Features
- Web API: REST API for server management and monitoring
- ASP.NET Core Integration: Leverage the power of ASP.NET Core
- Kestrel Configuration: Configure Kestrel web server from Orion's configuration
- JSON Serialization: Consistent JSON serialization across HTTP interfaces
- Authentication: JWT-based authentication for API access
- Configuration-based Setup: Enable/disable and configure web functionality via YAML config
Examples
Configuring Kestrel with Orion Settings
using Microsoft.AspNetCore.Builder;
using Orion.Core.Server.Data.Config.Sections;
using Orion.Core.Server.Web.Extensions;
public static void ConfigureWeb(WebApplicationBuilder builder, WebHttpConfig webConfig)
{
builder.WebHost.ConfigureKestrelFromConfig(webConfig);
// Additional web configuration
}
Setting up JSON for Web APIs
using Microsoft.AspNetCore.Builder;
using Orion.Core.Server.Web.Extensions;
public static void ConfigureJson(WebApplicationBuilder builder)
{
builder.Services.ConfigureHttpJsonOptions(WebJsonExtension.ConfigureWebJson());
// Your application's JSON is now configured with Orion settings
}
Creating a Basic API Endpoint
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Routing;
public static IEndpointRouteBuilder MapMyApi(this IEndpointRouteBuilder endpoints)
{
var group = endpoints.MapGroup("api/myfeature")
.WithTags("MyFeature")
.WithDescription("My feature APIs");
group.MapGet("/status", () => Results.Ok(new { Status = "Running" }))
.WithName("GetStatus")
.WithDescription("Get the status of my feature");
return endpoints;
}
Web Configuration
Example YAML configuration for the web interface:
web_http:
is_enabled: true
listen_address: 0.0.0.0
listen_port: 23021
jwt_auth:
issuer: Orion
audience: Orion
expiration_in_minutes: 44640 # 31 days
refresh_token_expiry_days: 1
Dependencies
- Orion.Core: Core utilities and extensions
- Orion.Core.Server: Server-side core functionality
- Microsoft.AspNetCore.App: ASP.NET Core framework
Related Packages
- Orion.Core: Core utilities and extensions
- Orion.Core.Server: Server-side core functionality
- Orion.Irc.Core: IRC protocol implementation
- Orion.Network.Core: Networking abstractions
License
This project is licensed under the MIT License - see the LICENSE file for details.
Project Links
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. 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. |
-
net9.0
- Orion.Core.Server (>= 0.30.1)
- Orion.Foundations (>= 0.30.1)
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 |
---|---|---|
0.30.1 | 230 | 5/15/2025 |
0.30.0 | 237 | 5/13/2025 |
0.29.0 | 217 | 5/12/2025 |
0.28.4 | 214 | 5/12/2025 |
0.28.3 | 222 | 5/12/2025 |
0.28.2 | 218 | 5/12/2025 |
0.28.1 | 139 | 5/11/2025 |
0.28.0 | 80 | 5/10/2025 |
0.27.1 | 145 | 5/8/2025 |
0.27.0 | 140 | 5/8/2025 |
0.26.0 | 144 | 5/8/2025 |
0.25.2 | 139 | 5/8/2025 |
0.25.1 | 145 | 5/8/2025 |
0.25.0 | 142 | 5/8/2025 |
0.24.0 | 144 | 5/6/2025 |
0.23.0 | 141 | 5/6/2025 |
0.22.3 | 141 | 5/6/2025 |
0.22.2 | 150 | 5/5/2025 |
0.22.0 | 107 | 5/2/2025 |
0.21.0 | 102 | 5/2/2025 |
0.20.0 | 118 | 5/2/2025 |
0.19.1 | 119 | 5/2/2025 |
0.19.0 | 144 | 5/1/2025 |
0.18.1 | 145 | 5/1/2025 |
0.18.0 | 149 | 4/30/2025 |
0.17.0 | 145 | 4/29/2025 |
0.16.0 | 168 | 4/29/2025 |
0.15.0 | 166 | 4/28/2025 |
0.14.3 | 165 | 4/28/2025 |
0.14.2 | 161 | 4/28/2025 |
0.14.1 | 157 | 4/28/2025 |
0.14.0 | 157 | 4/28/2025 |
0.13.0 | 168 | 4/28/2025 |
0.12.3 | 160 | 4/28/2025 |
0.12.2 | 159 | 4/28/2025 |
0.12.1 | 161 | 4/28/2025 |
0.12.0 | 160 | 4/28/2025 |
0.11.1 | 153 | 4/28/2025 |
0.11.0 | 151 | 4/28/2025 |
0.10.0 | 149 | 4/28/2025 |
0.9.0 | 164 | 4/23/2025 |
0.8.0 | 158 | 4/23/2025 |
0.7.0 | 162 | 4/22/2025 |
0.6.1 | 151 | 4/22/2025 |
0.6.0 | 159 | 4/20/2025 |
0.5.0 | 154 | 4/20/2025 |
0.4.0 | 159 | 4/20/2025 |
0.3.0 | 84 | 4/19/2025 |
0.2.0 | 146 | 4/18/2025 |
0.1.10 | 178 | 4/18/2025 |
0.1.9 | 171 | 4/18/2025 |
0.1.8 | 165 | 4/18/2025 |
0.1.7 | 166 | 4/18/2025 |
0.1.6 | 174 | 4/18/2025 |
0.1.5 | 167 | 4/18/2025 |
0.1.4 | 166 | 4/18/2025 |
0.1.3 | 195 | 4/17/2025 |
0.1.2 | 192 | 4/17/2025 |