refactored responses
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user