package runner import ( "errors" "github.com/projectdiscovery/gologger" ) // validateOptions validates the configuration options passed func (options *Options) validateOptions() error { // Check if domain, list of domains, or stdin info was provided. // If none was provided, then return. if options.Domain == "" && options.DomainsFile == "" && !options.Stdin { return errors.New("no input list provided") } // Both verbose and silent flags were used if options.Verbose && options.Silent { return errors.New("both verbose and silent mode specified") } // Validate threads and options if options.Threads == 0 { return errors.New("threads cannot be zero") } if options.Timeout == 0 { return errors.New("timeout cannot be zero") } // Always remove wildcard with hostip if options.HostIP && !options.RemoveWildcard { return errors.New("hostip flag must be used with RemoveWildcard option") } return nil } // configureOutput configures the output on the screen func (options *Options) configureOutput() { // If the user desires verbose output, show verbose output if options.Verbose { gologger.MaxLevel = gologger.Verbose } if options.NoColor { gologger.UseColors = false } if options.Silent { gologger.MaxLevel = gologger.Silent } }