diff --git a/src/ReverseLlama.Server/Program.cs b/src/ReverseLlama.Server/Program.cs index 0c552ca..08d806f 100644 --- a/src/ReverseLlama.Server/Program.cs +++ b/src/ReverseLlama.Server/Program.cs @@ -198,15 +198,11 @@ app.MapGet(settings.StatusPath, (HttpContext context, TunnelHub hub, ServerSetti embeddingCache = new { available = embeddingCache.IsAvailable, - count = embeddingCache.Count, - databasePath = embeddingCache.DatabasePath, - lastError = embeddingCache.LastError + count = embeddingCache.Count }, management = new { - available = managementStore.IsAvailable, - databasePath = managementStore.DatabasePath, - lastError = managementStore.LastError + available = managementStore.IsAvailable }, clients = hub.ClientsSnapshot }); diff --git a/src/ReverseLlama.Server/ReverseProxyEndpoint.cs b/src/ReverseLlama.Server/ReverseProxyEndpoint.cs index 8f2c7c1..1a44f53 100644 --- a/src/ReverseLlama.Server/ReverseProxyEndpoint.cs +++ b/src/ReverseLlama.Server/ReverseProxyEndpoint.cs @@ -1,4 +1,5 @@ using System.Text.Json; +using ElmahCore; using Microsoft.AspNetCore.Http.Features; using Microsoft.Extensions.Primitives; using ReverseLlama.Protocol; @@ -569,10 +570,16 @@ internal static class ReverseProxyEndpoint { logger.LogWarning(exception, "Proxy request {RequestId} failed.", requestId); + var errorLog = context.RequestServices.GetService(); + if (errorLog is not null) + { + await errorLog.LogAsync(new Error(exception, context)); + } + if (!context.Response.HasStarted) { context.Response.StatusCode = StatusCodes.Status502BadGateway; - await context.Response.WriteAsync(exception.Message, CancellationToken.None); + await context.Response.WriteAsync("Bad gateway", CancellationToken.None); } else {