Skip to content

Commit 36d10ba

Browse files
fix(chat): replace ex.Message with generic client-safe error in streaming responses
Exception details are now only in server logs (already logged via LogChatStreamErrorBeforeResponseStarted and LogChatStreamErrorMidStream). The errorCode from ChatBackendUnavailableException is still forwarded as it is a controlled application-level value.
1 parent 5b05fa1 commit 36d10ba

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

EssentialCSharp.Web/Controllers/ChatController.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -278,14 +278,14 @@ public async Task StreamMessage([FromBody] ChatMessageRequest request, Cancellat
278278
LogChatStreamErrorBeforeResponseStarted(_Logger, ex, User.Identity?.Name);
279279
Response.StatusCode = StatusCodes.Status503ServiceUnavailable;
280280
Response.ContentType = "application/json";
281-
await Response.WriteAsJsonAsync(new { error = ex.Message, errorCode = ex.ErrorCode }, cancellationToken);
281+
await Response.WriteAsJsonAsync(new { error = "Chat service unavailable", errorCode = ex.ErrorCode }, cancellationToken);
282282
}
283283
catch (ChatBackendUnavailableException ex)
284284
{
285285
LogChatStreamErrorMidStream(_Logger, ex, User.Identity?.Name);
286286
try
287287
{
288-
var eventData = JsonSerializer.Serialize(new { type = "error", message = ex.Message, errorCode = ex.ErrorCode });
288+
var eventData = JsonSerializer.Serialize(new { type = "error", message = "Chat service unavailable", errorCode = ex.ErrorCode });
289289
await Response.WriteAsync($"data: {eventData}\n\n", CancellationToken.None);
290290
await Response.Body.FlushAsync(CancellationToken.None);
291291
}

0 commit comments

Comments
 (0)