Files
KianaBH3/SdkServer/Handlers/Dispatch/QueryDispatchController.cs
2025-06-14 11:15:32 +08:00

41 lines
1.2 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);
if (!ConfigManager.Hotfix.Hotfixes.ContainsKey(version))
{
logger.Warn($"Client sent requesting unsupported game version: {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));
}
}