Extract disabledResult and evidenceEval helpers to reduce boilerplate

Add two shared helpers to source.go and apply them across all sources:
- disabledResult(id, name) replaces the repeated inline SourceResult literal
- evidenceEval(r, severity) replaces the identical Evaluate body in 6 sources
This commit is contained in:
nemunaire 2026-05-15 18:41:45 +08:00
commit 6b1d2e2540
9 changed files with 28 additions and 34 deletions

View file

@ -54,7 +54,7 @@ func (*phishTankSource) Options() SourceOptions {
func (s *phishTankSource) Query(ctx context.Context, domain, registered string, opts sdk.CheckerOptions) []SourceResult {
if !sdk.GetBoolOption(opts, "enable_phishtank", true) || registered == "" {
return []SourceResult{{SourceID: s.ID(), SourceName: s.Name(), Enabled: false}}
return disabledResult(s.ID(), s.Name())
}
if ttlRaw, ok := sdk.GetOption[string](opts, "phishtank_refresh_hours"); ok && ttlRaw != "" {
@ -82,10 +82,7 @@ func (s *phishTankSource) Query(ctx context.Context, domain, registered string,
}
func (*phishTankSource) Evaluate(r SourceResult) (bool, string) {
if r.Enabled && r.Error == "" && len(r.Evidence) > 0 {
return true, SeverityCrit
}
return false, ""
return evidenceEval(r, SeverityCrit)
}
func (*phishTankSource) Diagnose(res SourceResult) Diagnosis {