refactored responses

This commit is contained in:
2025-04-06 15:37:32 +05:00
parent 3c1d195849
commit d70b605127
17 changed files with 415 additions and 263 deletions
@@ -0,0 +1,28 @@
using System.Net;
using ParadoxSaveParser.WebAPI.HttpHelpers;
namespace ParadoxSaveParser.WebAPI.Routes;
internal class GetSaveStatusHandler : RouteHandlerBase
{
public GetSaveStatusHandler(CancellationToken cancelAllToken)
: base(cancelAllToken)
{
}
public override async Task<HttpStatusCode> HandleRequest(
HttpListenerContext ctx, ContextLogger requestLogger)
{
var idOrError = RequestHelper.GetQueryValue(ctx, "id");
if (idOrError.HasError)
return await ReturnHelper.ResponseError(ctx, requestLogger, _cancelAllToken, idOrError.Error!);
if (!Program._saveMetadataStorage.TryGetValue(idOrError.Value!, out var meta))
return await ReturnHelper.ResponseError(ctx, requestLogger, _cancelAllToken,
new ErrorMessage(HttpStatusCode.InternalServerError,
$"Save with id {idOrError.Value} not found")
);
return await ReturnHelper.ResponseJson(ctx, requestLogger, _cancelAllToken, meta);
}
}