func()

in pkg/analyzer/client.go [29:64]


func (s *client) AnalyzeFile() (AnalyzerResponse, error) { //uppercase first letter = public

	var response AnalyzerResponse
	var stream []byte
	var input string
	var err error

	// Read file
	if s.filepath != "" && s.filepath != "-" {
		stream, err = os.ReadFile(s.filepath)
		if err != nil {
			response.AnalysisStatus = "error"
			return response, err
		}
	} else {
		fmt.Printf("Reading from stdinv\n")
		scanner := bufio.NewScanner(os.Stdin)
		for scanner.Scan() {
			input += scanner.Text() + "\n"
		}
		if scanner.Err() != nil {
			return response, scanner.Err()
		}
		stream = []byte(input)

		if len(stream) == 0 {
			return response, errors.New("Empty imput stream")
		}
	}

	// iterate yaml documents
	evaluator := NewPsaEvaluator()
	response, err = evaluator.Evaluate(stream, s.level)

	return response, err
}