refactor(controller): wrapper refactor for dynamic ports

This commit is contained in:
2025-09-23 20:55:01 -05:00
parent bee436d341
commit d9ca6398f1
4 changed files with 41 additions and 13 deletions

View File

@@ -1,4 +1,12 @@
lstWrapper/publish
lstWrapper/publish/wwwroot
lstWrapper/publish/appsettings-example.json
lstWrapper/publish/LstWrapper.deps.json
lstWrapper/publish/LstWrapper.dll
lstWrapper/publish/LstWrapper.exe
lstWrapper/publish/LstWrapper.pdb
lstWrapper/publish/LstWrapper.runtimeconfig.json
lstWrapper/publish/LstWrapper.staticwebassets.endpoints.json
web.config
controller/lst_ctl.exe
controller/.env-example
scripts/update-controller-bumpBuild.ps1

View File

@@ -9,12 +9,15 @@ using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.HttpOverrides;
using Microsoft.Extensions.DependencyInjection;
var builder = WebApplication.CreateBuilder(args);
// Register HttpClient so we can proxy HTTP traffic
builder.Services.AddHttpClient();
var app = builder.Build();
var port8080 = builder.Configuration.GetValue<int>("ProxyConfig:Port8080", 8080);
var port4000 = builder.Configuration.GetValue<int>("ProxyConfig:Port4000", 4000);
// Enable WebSocket support
app.UseWebSockets();
@@ -74,14 +77,14 @@ app.Run(async (HttpContext context) =>
if (rawPath.StartsWith("/socket.io", StringComparison.OrdinalIgnoreCase) ||
rawPath.StartsWith("/lst/socket.io", StringComparison.OrdinalIgnoreCase))
{
backendHttpBase = "http://localhost:8080";
backendWsBase = "ws://localhost:8080";
backendHttpBase = $"http://localhost:{port8080}";
backendWsBase = $"ws://localhost:{port8080}";
}
else if (rawPath.StartsWith("/lst/api/controller", StringComparison.OrdinalIgnoreCase) ||
rawPath.StartsWith("/api/controller", StringComparison.OrdinalIgnoreCase))
{
backendHttpBase = "http://localhost:8080";
backendWsBase = "ws://localhost:8080";
backendHttpBase = $"http://localhost:{port8080}";
backendWsBase = $"ws://localhost:{port8080}";
// Now strip only once
// var newPath = rawPath.Substring("/lst".Length);
@@ -89,8 +92,8 @@ app.Run(async (HttpContext context) =>
}
else
{
backendHttpBase = "http://localhost:4000";
backendWsBase = "ws://localhost:4000";
backendHttpBase = $"http://localhost:{port4000}";
backendWsBase = $"ws://localhost:{port4000}";
}
// Handle WebSocket requests

View File

@@ -0,0 +1,13 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"ProxyConfig": {
"Port8080": 8080,
"Port4000": 4000
}
}

View File

@@ -1,9 +1,13 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"ProxyConfig": {
"Port8080": 8080,
"Port4000": 4000
}
},
"AllowedHosts": "*"
}