Compare commits

..

No commits in common. "aed1e8a58d419ebb95778e2037175a29a83a1191" and "b5025c382f48ba664cbce3c979f31187696174b0" have entirely different histories.

View file

@ -45,29 +45,17 @@ consumer.Received += async (model, ea) =>
var body = ea.Body.ToArray();
var message = Encoding.UTF8.GetString(body);
WriteToConsole($"Received message: {message}");
//WriteToConsole($"ได้รับคำขอจาก Queue: {message}");
var success = await CallRestApi(message, httpClient, configuration);
if (success)
{
channel.BasicAck(ea.DeliveryTag, multiple: false);
WriteToConsole("Message processed successfully");
}
else
{
channel.BasicNack(ea.DeliveryTag, multiple: false, requeue: false);
WriteToConsole("Message processing failed - message rejected");
}
await CallRestApi(message, httpClient, configuration);
}
catch (Exception ex)
{
WriteToConsole($"Error processing message: {ex.Message}");
channel.BasicNack(ea.DeliveryTag, multiple: false, requeue: false);
}
};
channel.BasicConsume(queue: queue, autoAck: false, consumer: consumer);
channel.BasicConsume(queue: queue, autoAck: true, consumer: consumer);
WriteToConsole("Consumer started. Waiting for messages...");
@ -79,7 +67,7 @@ static void WriteToConsole(string message)
Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss} : {message}");
}
static async Task<bool> CallRestApi(string requestData, HttpClient client, IConfiguration configuration)
static async Task CallRestApi(string requestData, HttpClient client, IConfiguration configuration)
{
try
{
@ -91,31 +79,26 @@ static async Task<bool> CallRestApi(string requestData, HttpClient client, IConf
if (response.IsSuccessStatusCode)
{
var responseContent = await response.Content.ReadAsStringAsync();
WriteToConsole($"API Success: {responseContent}");
return true;
//WriteToConsole($"Success: {responseContent}");
}
else
{
var errorMessage = await response.Content.ReadAsStringAsync();
var res = JsonSerializer.Deserialize<ResponseObject>(errorMessage);
WriteToConsole($"API Error ({response.StatusCode}): {res?.Message ?? errorMessage}");
return false;
WriteToConsole($"API Error: {res?.Message ?? "Unknown error"}");
}
}
catch (HttpRequestException ex)
{
WriteToConsole($"HTTP Error: {ex.Message}");
return false;
}
catch (TaskCanceledException ex)
{
WriteToConsole($"Timeout: {ex.Message}");
return false;
}
catch (Exception ex)
{
WriteToConsole($"Unexpected Error: {ex.Message}");
return false;
}
}