Remove TraceHttpClientHandler and update DI setup

Removed the custom TraceHttpClientHandler and switched OpenAIClient initialization to use the default HTTP transport. Cleaned up unused using directives. Updated SqlDatabaseVectorSearch_WebApp.png with a new version.
This commit is contained in:
Marco Minerva
2026-07-28 16:17:45 +02:00
parent 832d21ec9e
commit d4c88ab10f
2 changed files with 1 additions and 49 deletions
+1 -49
View File
@@ -1,9 +1,6 @@
using System.ClientModel;
using System.ClientModel.Primitives;
using System.Net.Mime;
using System.Text;
using System.Text.Encodings.Web;
using System.Text.Json;
using System.Text.Json.Serialization;
using FluentValidation;
using Microsoft.Agents.AI;
@@ -85,8 +82,7 @@ builder.Services.AddChatClient(_ =>
{
var chatClient = new OpenAIClient(new ApiKeyCredential(aiSettings.ChatCompletion.ApiKey), new()
{
Endpoint = new(aiSettings.ChatCompletion.Endpoint),
Transport = new HttpClientPipelineTransport(new HttpClient(new TraceHttpClientHandler()))
Endpoint = new(aiSettings.ChatCompletion.Endpoint)
}).GetResponsesClient().AsIChatClientWithStoredOutputDisabled(aiSettings.ChatCompletion.Deployment);
return chatClient;
@@ -333,47 +329,3 @@ static async Task ConfigureDatabaseAsync(IServiceProvider serviceProvider)
await dbContext.Database.MigrateAsync();
}
public class TraceHttpClientHandler : HttpClientHandler
{
private static readonly JsonSerializerOptions jsonSerializerOptions = new()
{
WriteIndented = true,
Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping
};
protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
var requestString = request.Content is null ? "(no request body)" : await request.Content.ReadAsStringAsync(cancellationToken);
PrintText($"Raw Request ({request.RequestUri})", ConsoleColor.Green);
PrintText(FormatJson(requestString), ConsoleColor.DarkGray);
PrintSeparator();
var response = await base.SendAsync(request, cancellationToken);
return response;
static void PrintText(string message, ConsoleColor color)
{
Console.ForegroundColor = color;
Console.WriteLine(message);
Console.ResetColor();
}
static void PrintSeparator() => Console.WriteLine(new string('-', 50));
}
private static string FormatJson(string input)
{
try
{
var jsonElement = JsonSerializer.Deserialize<JsonElement>(input);
return JsonSerializer.Serialize(jsonElement, jsonSerializerOptions);
}
catch
{
return input;
}
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 KiB

After

Width:  |  Height:  |  Size: 111 KiB