diff --git a/src/LiquidCode.Tester.Worker/Services/CallbackService.cs b/src/LiquidCode.Tester.Worker/Services/CallbackService.cs index cef0004..eab1b35 100644 --- a/src/LiquidCode.Tester.Worker/Services/CallbackService.cs +++ b/src/LiquidCode.Tester.Worker/Services/CallbackService.cs @@ -33,6 +33,14 @@ public class CallbackService : ICallbackService var content = new StringContent(json, Encoding.UTF8, "application/json"); var httpResponse = await httpClient.PostAsync(callbackUrl, content); + + if (!httpResponse.IsSuccessStatusCode) + { + var responseBody = await httpResponse.Content.ReadAsStringAsync(); + _logger.LogWarning("Callback returned non-success status {StatusCode} with body: {Body}", + (int)httpResponse.StatusCode, Truncate(responseBody, 2048)); + } + httpResponse.EnsureSuccessStatusCode(); _logger.LogInformation("Status update sent successfully"); @@ -44,6 +52,16 @@ public class CallbackService : ICallbackService } } + private static string Truncate(string value, int maxLength) + { + if (string.IsNullOrEmpty(value) || value.Length <= maxLength) + { + return value; + } + + return value.Substring(0, maxLength) + "…"; + } + private bool IsLogCallback(string callbackUrl) { if (string.IsNullOrWhiteSpace(callbackUrl))