Files
WireMock.Net/src/WireMock.Net.Minimal/Http/HttpClientFactory2.cs
Stef Heyenrath 8b27da95a8 Add WebSockets (#1423)
* Add WebSockets

* Add tests

* fix

* more tests

* Add tests

* ...

* remove IOwin

* -

* tests

* fluent

* ok

* match

* .

* byte[]

* x

* func

* func

* byte

* trans

* ...

* frameworks.........

* jmes

* xxx

* sc
2026-02-14 08:42:40 +01:00

39 lines
1.0 KiB
C#

// Copyright © WireMock.Net
using System.Linq;
using System.Net.Http;
namespace WireMock.Http;
internal static class HttpClientFactory2
{
public static HttpClient Create(params DelegatingHandler[] handlers)
{
var handler = CreateHandlerPipeline(new HttpClientHandler(), handlers);
return new HttpClient(handler);
}
public static HttpClient Create(HttpMessageHandler innerHandler, params DelegatingHandler[] handlers)
{
var handler = CreateHandlerPipeline(innerHandler, handlers);
return new HttpClient(handler);
}
private static HttpMessageHandler CreateHandlerPipeline(HttpMessageHandler handler, params DelegatingHandler[] delegatingHandlers)
{
if (delegatingHandlers.Length == 0)
{
return handler;
}
var next = handler;
foreach (var delegatingHandler in Enumerable.Reverse(delegatingHandlers))
{
delegatingHandler.InnerHandler = next;
next = delegatingHandler;
}
return next;
}
}