trufflehog/pkg/detectors/multi_part_credential_provider.go
ahrav ce1ce29b90
[feat] - Optimize detector performance by reducing data passed to regex (#2812)
* optimize maching detetors

* update method name

* updates

* update naming

* updates

* update comment

* updates

* remove testcase

* update default match len to 512

* update

* update test

* add support for multpart cred provider

* add ability to scan entire chunk

* encapsulate matches logic within FindDetectorMatches

* use []byte directly

* nil chunk data

* use []byte

* set hidden flag to true

* remove

* [refactor] - multi part detectors (#2906)

* Detectors beginning w/ a

* Detectors beginning w/ b

* Detectors beginning w/ c

* Detectors beginning w/ d

* Detectors beginning w/ e

* Detectors beginning w/ f

* Detectors beginning w/ f&g

* fix

* Detectors beginning w/ i-l

* Detectors beginning w/ m-p

* Detectors beginning w/ r-s

* Detectors beginning w/ t

* Detectors beginning w/ u-z

* revert alconst

* remaining fixes

* lint

* [feat] - Add Support for `compareDetectionStrategies` Mode (#2918)

* Detector comparison mode

* remove else

* return error if results dont match

* update default hidden flag to not scan entire chunks

* fix tests

* enhance encapsulation by including methods on DetectorMatch to handle merging and extracting

* remove space

* fix

* update detector

* updates

* remove else

* run comparison concurrently
2024-06-05 13:28:19 -07:00

28 lines
1.1 KiB
Go

package detectors
var _ MultiPartCredentialProvider = (*DefaultMultiPartCredentialProvider)(nil)
var _ MultiPartCredentialProvider = (*CustomMultiPartCredentialProvider)(nil)
type DefaultMultiPartCredentialProvider struct{}
const defaultMaxCredentialSpan = 1024
// MaxCredentialSpan returns the default maximum credential span of 1024 for the
// DefaultMultiPartCredentialProvider.
func (d DefaultMultiPartCredentialProvider) MaxCredentialSpan() int64 {
return defaultMaxCredentialSpan
}
type CustomMultiPartCredentialProvider struct{ maxCredentialSpan int64 }
// NewCustomMultiPartCredentialProvider creates a new instance of CustomMultiPartCredentialProvider
// with the specified maximum credential span.
func NewCustomMultiPartCredentialProvider(maxCredentialSpan int64) *CustomMultiPartCredentialProvider {
return &CustomMultiPartCredentialProvider{maxCredentialSpan: maxCredentialSpan}
}
// MaxCredentialSpan returns the custom maximum credential span specified during the
// creation of the CustomMultiPartCredentialProvider.
func (d CustomMultiPartCredentialProvider) MaxCredentialSpan() int64 {
return d.maxCredentialSpan
}