private void ValidateAllowed(AllowedOptions option, ValidationSettings settings)
 {
     if (!settings.AllowedOptions.HasFlag(option))
     {
         throw new ODataException($"The '{option}' query option is not allowed.");
     }
 }
Example #2
0
        private ExtractOptions ParseExtractOptions(string arg)
        {
            const string AllowedOptions = "n";

            // Check if there is any sub options
            if (!arg.Contains(':') && !arg.Contains('='))
            {
                return(ExtractOptions.Directory);
            }

            // Get chars after : or =
            var options = arg.Split(':', '=').Last().ToLower().ToCharArray();

            // Check that all sub options are valid
            if (options.Any(x => AllowedOptions.Contains(x) == false))
            {
                throw new ArgumentException("Unknown -e sub options: " + new string(options) + "\nSee --help page for valid options.");
            }

            var value = ExtractOptions.Directory;

            if (options.Contains('n'))
            {
                value = ExtractOptions.NoDirectory;
            }

            return(value);
        }
Example #3
0
 public Options(string[] args, AllowedOptions? GreedyOption)
 {
     _greedyOption = GreedyOption;
     _options = new Dictionary<AllowedOptions, string>();
     _activeOptions = new List<AllowedOptions>();
     buildEnumHelpers();
     _options = parse(args);
     _activeOptions = new List<AllowedOptions>(_options.Keys);
 }
Example #4
0
 public string this[AllowedOptions Option]
 {
     get
     {
       if (_options.ContainsKey(Option)) return _options[Option];
       return "";
     }
     set
     {
       if (_options.ContainsKey(Option))
     _options[Option] = value;
     }
 }
        private string FormatAllowedInputText()
        {
            if (AllowedOptions.Any())
            {
                var nonDefaultOptions = string.Join(", ", AllowedOptions);

                if (!string.IsNullOrWhiteSpace(nonDefaultOptions))
                {
                    return(" | allowed: " + nonDefaultOptions);
                }
            }

            return("");
        }
Example #6
0
 public string this[string Option]
 {
     get
     {
         if (_s2ao.ContainsKey(Option))
         {
             AllowedOptions o = _s2ao[Option];
             if (_activeOptions.Contains(o))
             {
                 return(_options[_s2ao[Option]]);
             }
         }
         return("");
     }
 }
Example #7
0
 public string this[AllowedOptions Option]
 {
     get
     {
         if (_options.ContainsKey(Option))
         {
             return(_options[Option]);
         }
         return("");
     }
     set
     {
         if (_options.ContainsKey(Option))
         {
             _options[Option] = value;
         }
     }
 }
Example #8
0
        private ListOptions ParseListOptions(string arg)
        {
            const string AllowedOptions = "afnsx";

            // Check if there is any sub options
            if (!arg.Contains(':') && !arg.Contains('='))
            {
                return(ListOptions.None);
            }

            // Get chars after : or =
            var options = arg.Split(':', '=').Last().ToLower().ToCharArray();

            // Check that all sub options are valid
            if (options.Any(x => AllowedOptions.Contains(x) == false))
            {
                throw new ArgumentException("Unknown -l sub options: " + new string(options) + "\nSee --help page for valid options.");
            }

            var value = ListOptions.None;

            foreach (char c in options)
            {
                switch (c)
                {
                case 'a': value |= ListOptions.Archive; break;

                case 'f': value |= ListOptions.FullPath; break;

                case 'n': value |= ListOptions.Filename; break;

                case 's': value |= ListOptions.FileSize; break;

                case 'x': value |= ListOptions.FileSizeFormat; break;
                }
            }

            return(value);
        }
Example #9
0
 public bool OptionExists(AllowedOptions Option)
 {
     return _options.ContainsKey(Option);
 }
Example #10
0
 public bool OptionExists(AllowedOptions Option)
 {
     return(_options.ContainsKey(Option));
 }