// Copyright (c) Microsoft. All rights reserved. using System; using System.Net.Http; using System.Threading; using System.Threading.Tasks; namespace Microsoft.Agents.AI.Foundry.UnitTests; internal sealed class HttpHandlerAssert : HttpClientHandler { private readonly Func? _assertion; private readonly Func>? _assertionAsync; public HttpHandlerAssert(Func assertion) { this._assertion = assertion; } public HttpHandlerAssert(Func> assertionAsync) { this._assertionAsync = assertionAsync; } protected override async Task SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { if (this._assertionAsync is not null) { return await this._assertionAsync.Invoke(request); } return this._assertion!.Invoke(request); } #if NET protected override HttpResponseMessage Send(HttpRequestMessage request, CancellationToken cancellationToken) { return this._assertion!(request); } #endif }