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))); }
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); }
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);