Ejemplo n.º 1
0
        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
        }
Ejemplo n.º 2
0
        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());
        }