public static IConfigurationBuilder AddDecryptJsonFile(this IConfigurationBuilder builder, string path, bool optional,
                                                               bool reloadOnChange)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }
            if (string.IsNullOrEmpty(path))
            {
                throw new ArgumentException("File path must be a non-empty string.");
            }

            var source = new CustJsonConfigurationSource
            {
                FileProvider   = null,
                Path           = path,
                Optional       = optional,
                ReloadOnChange = reloadOnChange
            };

            source.ResolveFileProvider();
            builder.Add(source);
            return(builder);
        }
 public CustomConfigProvider(CustJsonConfigurationSource source) : base(source)
 {
 }