Documentation
¶
Overview ¶
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. * * This product includes software developed at Datadog (https://www.datadoghq.com) Copyright 2024 Datadog, Inc.
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. * * This product includes software developed at Datadog (https://www.datadoghq.com) Copyright 2024 Datadog, Inc.
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. * * This product includes software developed at Datadog (https://www.datadoghq.com) Copyright 2024 Datadog, Inc.
Index ¶
- func ExtractLineFragment(line, substr string, key bool) string
- func GenerateSubstrings(ctx context.Context, key string, extracted [][]string, lines []string, ...) (string, string)
- func GetAdjacentVulnLines(idx, adj int, lines []string) *[]model.CodeLine
- func GetBracketValues(expr string, list [][]string, restOfString string) [][]string
- func GetLineBySearchLine(pathComponents []string, file *model.FileMetadata) (int, error)
- func SelectLineWithMinimumDistance(distances map[int]int, startingFrom int) int
- type DefaultDetectLineResponse
- type DetectLine
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExtractLineFragment ¶
ExtractLineFragment will prepare substr for line detection
func GenerateSubstrings ¶
func GenerateSubstrings(ctx context.Context, key string, extracted [][]string, lines []string, currentLine int) (string, string)
GenerateSubstrings returns the substrings used for line searching depending on search key '.' is new line '=' is value in the same line '[]' is in the same line nolint:gocritic
func GetAdjacentVulnLines ¶
GetAdjacentVulnLines is used to get the lines adjacent to the line that contains the vulnerability adj is the amount of lines wanted
func GetBracketValues ¶
GetBracketValues gets values inside "{{ }}" ignoring any "{{" or "}}" inside
func GetLineBySearchLine ¶
func GetLineBySearchLine(pathComponents []string, file *model.FileMetadata) (int, error)
GetLineBySearchLine makes use of the gjson pkg to find the line of a key in the original file with it's path given by a slice of strings
Types ¶
type DefaultDetectLineResponse ¶
type DefaultDetectLineResponse struct {
CurrentLine int
IsBreak bool
FoundAtLeastOne bool
ResolvedFile string
ResolvedFiles map[string]model.ResolvedFileSplit
}
DefaultDetectLineResponse is the default response for struct DetectLine
func (*DefaultDetectLineResponse) DetectCurrentLine ¶
func (d *DefaultDetectLineResponse) DetectCurrentLine(str1, str2 string, recurseCount int, lines []string, kind model.FileKind) (*DefaultDetectLineResponse, model.ResourceLine, model.ResourceLine, []string)
DetectCurrentLine uses levenshtein distance to find the most accurate line for the vulnerability nolint:gocritic
type DetectLine ¶
type DetectLine struct {
// contains filtered or unexported fields
}
DetectLine is a struct that associates a kindDetectLine to its FileKind
func NewDetectLine ¶
func NewDetectLine(outputLines int) *DetectLine
NewDetectLine creates a new DetectLine's reference
func (*DetectLine) Add ¶
func (d *DetectLine) Add(detector kindDetectLine, kind model.FileKind) *DetectLine
Add adds a new kindDetectLine to the caller and returns it
func (*DetectLine) DetectLine ¶
func (d *DetectLine) DetectLine(ctx context.Context, file *model.FileMetadata, searchKey string) model.VulnerabilityLines
DetectLine will use the correct kindDetectLine according to the files kind if file kind is not in detectors default detect line is called
func (*DetectLine) SetupLogs ¶
func (d *DetectLine) SetupLogs(logger *zerolog.Logger)
SetupLogs will change the logger feild to be used in kindDetectLine DetectLine method
Directories
¶
| Path | Synopsis |
|---|---|
|
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
|
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. |
|
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
|
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. |