Esempio n. 1
0
        public static T WithHttpClient <T>(
            this AbstractApplicationBuilder <T> appBuilder,
            HttpClient httpClient
            ) where T : AbstractApplicationBuilder <T>
        {
            _ = appBuilder ?? throw new ArgumentNullException(nameof(appBuilder));

            return(appBuilder.WithHttpClientFactory(new MsalHttpClient(httpClient)));
        }
Esempio n. 2
0
        public static T WithHttpClientFactory <T>(
            this AbstractApplicationBuilder <T> appBuilder,
            IHttpClientFactory httpFactory, string?name = default
            ) where T : AbstractApplicationBuilder <T>
        {
            _ = appBuilder ?? throw new ArgumentNullException(nameof(appBuilder));
            _ = httpFactory ?? throw new ArgumentNullException(nameof(httpFactory));

            var msalHttpFactory = new MsalHttpClientFactory(httpFactory, name);

            return(appBuilder.WithHttpClientFactory(msalHttpFactory));
        }
        public static T WithLoggerFactory <T>(
            this AbstractApplicationBuilder <T> appBuilder,
            ILoggerFactory loggerFactory)
            where T : AbstractApplicationBuilder <T>
        {
            _ = appBuilder ?? throw new ArgumentNullException(nameof(appBuilder));
            loggerFactory ??= Microsoft.Extensions.Logging.Abstractions
            .NullLoggerFactory.Instance;

            var          builderName   = typeof(T).Name !;
            const string builderSuffix = "Builder";
            string       prefix        = typeof(T).Namespace + ".";
            string       categoryName  = builderName.IndexOf(builderSuffix,
                                                             StringComparison.OrdinalIgnoreCase) switch
            {
                int idx when idx < 0 => builderName,
                0 => typeof(AbstractApplicationBuilder <>).Namespace !,
                int idx => builderName.Substring(0, idx),
            };
            var logger      = loggerFactory.CreateLogger(prefix + categoryName);
            var logCallback = logger.GetMsalLogCallback();

            return(appBuilder.WithLogging(logCallback, MsalLogLevel.Verbose));
        }