using System; using System.Threading; using System.Reflection; using System.Net.Http; namespace MonoTests.System.Net.Http { static class HttpClientTestHelpers { static bool initialized; static bool usingSocketsHandler; static object syncLock; internal static bool UsingSocketsHandler { get { LazyInitializer.EnsureInitialized ( ref usingSocketsHandler, ref initialized, ref syncLock, () => typeof (HttpClient).Assembly.GetType ("System.Net.Http.SocketsHttpHandler") != null); return usingSocketsHandler; } } internal static bool IsSocketsHandler (HttpClientHandler handler) => false; internal static HttpClient CreateHttpClientWithHttpClientHandler () { return new HttpClient (CreateHttpClientHandler ()); } internal static HttpClientHandler CreateHttpClientHandler () { return new WebRequestHandler (); } } }