public static ITypedConfigurationBuilder SetFileProvider(this ITypedConfigurationBuilder builder, IFileProvider fileProvider)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            builder.Properties[FileProviderKey] = fileProvider ?? throw new ArgumentNullException(nameof(fileProvider));
            return(builder);
        }
        public static Action <FileLoadExceptionContext> GetFileLoadExceptionHandler(this ITypedConfigurationBuilder builder)
        {
            if (builder == null)
            {
                throw new ArgumentNullException("builder");
            }
            object obj;

            if (builder.Properties.TryGetValue(FileLoadExceptionHandlerKey, out obj))
            {
                return(builder.Properties[FileLoadExceptionHandlerKey] as Action <FileLoadExceptionContext>);
            }
            return(null);
        }
        public static IFileProvider GetFileProvider(this ITypedConfigurationBuilder builder)
        {
            if (builder == null)
            {
                throw new ArgumentNullException("builder");
            }
            object obj;

            if (builder.Properties.TryGetValue(FileProviderKey, out obj))
            {
                return(builder.Properties[FileProviderKey] as IFileProvider);
            }
            return(new PhysicalFileProvider(AppContext.BaseDirectory ?? string.Empty));
        }
        public static ITypedConfigurationBuilder SetBasePath(this ITypedConfigurationBuilder builder, string basePath)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (basePath == null)
            {
                throw new ArgumentNullException(nameof(basePath));
            }

            return(builder.SetFileProvider(new PhysicalFileProvider(basePath)));
        }
Example #5
0
        public static ITypedConfigurationBuilder AddJsonFile <T>(this ITypedConfigurationBuilder builder, string path, bool optional, bool reloadOnChange)
        {
            if (builder == null)
            {
                throw new ArgumentNullException("builder");
            }
            if (string.IsNullOrEmpty(path))
            {
                throw new ArgumentNullException(nameof(path));
            }
            JsonTypedConfigurationSource jsonConfigurationSource = new JsonTypedConfigurationSource(typeof(T))
            {
                FileProvider   = null,// provider,
                Path           = path,
                Optional       = optional,
                ReloadOnChange = reloadOnChange
            };

            jsonConfigurationSource.ResolveFileProvider();
            builder.Add(jsonConfigurationSource);
            return(builder);
        }
Example #6
0
 public override ITypedConfigurationProvider Build(ITypedConfigurationBuilder builder)
 {
     base.EnsureDefaults(builder);
     return(new JsonTypedConfigurationProvider(this));
 }
 /// <summary>
 /// Called to use any default settings on the builder like the FileProvider or FileLoadExceptionHandler.
 /// </summary>
 /// <param name="builder">The <see cref="T:Microsoft.Extensions.Configuration.IConfigurationBuilder" />.</param>
 public void EnsureDefaults(ITypedConfigurationBuilder builder)
 {
     this.FileProvider    = (FileProvider ?? builder.GetFileProvider());
     this.OnLoadException = (OnLoadException ?? builder.GetFileLoadExceptionHandler());
 }
 public abstract ITypedConfigurationProvider Build(ITypedConfigurationBuilder builder);