Files
KianaBH3/SdkServer/Handlers/Dispatch/QueryDispatchController.cs
2025-06-18 00:12:33 +08:00

42 lines
1.3 KiB
C#

using KianaBH.Configuration;
using KianaBH.Data.Models.Dispatch;
using KianaBH.Util;
using KianaBH.Util.Crypto;
using Microsoft.AspNetCore.Mvc;
namespace KianaBH.SdkServer.Handlers.Dispatch;
[ApiController]
public class QueryDispatchController : ControllerBase
{
[HttpGet("/query_dispatch")]
public IActionResult QueryDispatch([FromQuery] DispatchQuery query, Logger logger)
{
var version = HotfixContainer.ExtractVersionNumber(query.Version);
var hotfix_version = query.Version!;
if (!ConfigManager.Hotfix.Hotfixes.ContainsKey(hotfix_version))
{
logger.Warn($"Client sent requesting unsupported game version: {hotfix_version}");
return BadRequest();
}
var response = new QueryDispatchResponse
{
Retcode = 0,
RegionList =
[
new QueryDispatchResponse.RegionInfo
{
Retcode = 0,
DispatchUrl =
$"{ConfigManager.Config.HttpServer.GetDisplayAddress()}/query_gateway",
Ext = null,
Name = "KianaBH",
Title = "KianaBH",
}
]
};
return Ok(DispatchEncryption.EncryptDispatchContent(version, response));
}
}