Files
SPT-Server-Build/Libraries/SPTarkov.Server.Core/Routers/Static/LauncherV2StaticRouter.cs
T
Jesse 80f759a0da Http server router refactor (#553)
* Add edge case for Reverse Proxies

* Cleanup HttpListener, remove unecessary MemoryStreams

* Handle with IPAddress instead of string

* Handle nullabiity of RouteAction, tighten typing on requests

* Cleanup HttpRouter

* Use tighter typing on Routers
2025-08-18 17:59:07 +00:00

48 lines
2.2 KiB
C#

using SPTarkov.DI.Annotations;
using SPTarkov.Server.Core.Callbacks;
using SPTarkov.Server.Core.DI;
using SPTarkov.Server.Core.Models.Eft.Common;
using SPTarkov.Server.Core.Models.Eft.Launcher;
using SPTarkov.Server.Core.Utils;
namespace SPTarkov.Server.Core.Routers.Static;
[Injectable]
public class LauncherV2StaticRouter(LauncherV2Callbacks launcherV2Callbacks, JsonUtil jsonUtil)
: StaticRouter(
jsonUtil,
[
new RouteAction<EmptyRequestData>("/launcher/v2/ping", async (url, _, sessionID, _) => await launcherV2Callbacks.Ping()),
new RouteAction<EmptyRequestData>("/launcher/v2/types", async (url, _, sessionID, _) => await launcherV2Callbacks.Types()),
new RouteAction<LoginRequestData>(
"/launcher/v2/login",
async (url, info, sessionID, _) => await launcherV2Callbacks.Login(info)
),
new RouteAction<RegisterData>(
"/launcher/v2/register",
async (url, info, sessionID, _) => await launcherV2Callbacks.Register(info)
),
new RouteAction<ChangeRequestData>(
"/launcher/v2/passwordChange",
async (url, info, sessionID, _) => await launcherV2Callbacks.PasswordChange(info)
),
new RouteAction<LoginRequestData>(
"/launcher/v2/remove",
async (url, info, sessionID, _) => await launcherV2Callbacks.Remove(info)
),
new RouteAction<EmptyRequestData>(
"/launcher/v2/version",
async (url, _, sessionID, _) => await launcherV2Callbacks.CompatibleVersion()
),
new RouteAction<EmptyRequestData>("/launcher/v2/mods", async (url, _, sessionID, _) => await launcherV2Callbacks.Mods()),
new RouteAction<EmptyRequestData>(
"/launcher/v2/profiles",
async (url, _, sessionID, _) => await launcherV2Callbacks.Profiles()
),
new RouteAction<EmptyRequestData>(
"/launcher/v2/profile",
async (url, _, sessionID, _) => await launcherV2Callbacks.Profile(sessionID)
),
]
) { }