public void Parse(string[] arguments) { if (arguments.Length == 0) { Usage(1); } _argumentsLength = arguments.Length; for (_index = 0; _index < _argumentsLength; _index++) { var argument = arguments[_index]; if (argument[0] != '-' && argument[0] != '/') { break; } switch (argument[1]) { case 'c': BumpIndex("-c"); ConfigFile = arguments[_index]; break; case 'h': Usage(0); break; case 'm': BumpIndex("-m"); IfModifiedSince = new DateExpander(_variables).ExecuteAsDateTime(arguments[_index]); break; case 'o': BumpIndex("-o"); OutputFile = arguments[_index]; break; case 'q': Quiet = true; break; case 'P': ParseOnly = true; break; case 't': BumpIndex("-t"); TemplatesFile = arguments[_index]; break; case 'V': Version(Console.Out); Environment.Exit(0); break; case 'v': Verbose = true; break; case 'X': Xml = true; break; default: throw new Exception(string.Format("Illegal argument: {0}", argument)); } } if (_argumentsLength - _index < 2) { throw new Exception("Missing profile and/or request"); } Profile = arguments[_index++]; Request = arguments[_index++]; if (_argumentsLength - _index > 0) { PostData = arguments[_index]; } }
internal Expander(Configuration configuration) { _getVariable = new GetVariable(configuration.Variables); _dateExpander = new DateExpander(configuration.Variables); }