Улучшения, теперь работает http и grpc

Но ещё требуется ревью и чистка
This commit is contained in:
2026-06-01 18:10:42 +03:00
parent 50626c6ac6
commit 1b85ec5ce8
6 changed files with 46 additions and 16 deletions

View File

@@ -38,9 +38,11 @@ public sealed class HttpSmsClient : ISmsClient, IDisposable
{
var request = new SendOrderApiRequest
{
CommandParameters = new SendOrderParameters(
order.Id.ToString(),
order.Items.ToList()),
CommandParameters = new SendOrderParameters
{
OrderId = order.Id.ToString(),
MenuItems = order.Items.ToList(),
},
};
var response = await SendAsync(request, cancellationToken);
@@ -66,7 +68,30 @@ public sealed class HttpSmsClient : ISmsClient, IDisposable
}
var responseJson = await httpResponse.Content.ReadAsStringAsync(cancellationToken);
return ApiResponseDeserializer.Deserialize(responseJson);
if (string.IsNullOrWhiteSpace(responseJson))
{
return new ApiResponse
{
Command = request.Command,
Success = false,
ErrorMessage = $"Пустой ответ сервера (HTTP {(int)httpResponse.StatusCode}).",
};
}
try
{
return ApiResponseDeserializer.Deserialize(responseJson);
}
catch (JsonException)
{
return new ApiResponse
{
Command = request.Command,
Success = false,
ErrorMessage = $"Некорректный JSON в ответе (HTTP {(int)httpResponse.StatusCode}): {responseJson}",
};
}
}
private static GetMenuApiResponse ToGetMenuResponse(ApiResponse response) =>