internal static HttpMessageHandler GetHttpMessageHandler() { var options = RuntimeOptions.Read(); // all types will be present as this is executed only when the linker is not enabled var handler_name = options?.http_message_handler; #if __WATCHOS__ if (handler_name != null && handler_name != NSUrlSessionHandlerValue) { Runtime.NSLog($"{handler_name} is not a valid HttpMessageHandler, defaulting to NSUrlSessionHandler"); } return(new NSUrlSessionHandler()); #else switch (handler_name) { case CFNetworkHandlerValue: return(new CFNetworkHandler()); case NSUrlSessionHandlerValue: return(new NSUrlSessionHandler()); default: if (handler_name != null && handler_name != HttpClientHandlerValue) { Runtime.NSLog($"{handler_name} is not a valid HttpMessageHandler, defaulting to System.Net.Http.HttpClientHandler"); } return(new HttpClientHandler()); } #endif }
internal static HttpMessageHandler GetHttpMessageHandler() { var options = RuntimeOptions.Read(); if (options == null) { return(new HttpClientHandler()); } // all types will be present as this is executed only when the linker is not enabled var handler_name = options.http_message_handler; var t = Type.GetType(handler_name, false); HttpMessageHandler handler = null; if (t != null) { handler = Activator.CreateInstance(t) as HttpMessageHandler; } if (handler != null) { return(handler); } Console.WriteLine("{0} is not a valid HttpMessageHandler, defaulting to System.Net.Http.HttpClientHandler", handler_name); return(new HttpClientHandler()); }