diff --git a/v2/pkg/catalog/loader/loader.go b/v2/pkg/catalog/loader/loader.go index 625a29f7a..e6f13ce7f 100644 --- a/v2/pkg/catalog/loader/loader.go +++ b/v2/pkg/catalog/loader/loader.go @@ -2,7 +2,6 @@ package loader import ( "errors" - "strings" "github.com/projectdiscovery/gologger" "github.com/projectdiscovery/nuclei/v2/internal/severity" @@ -139,7 +138,7 @@ func areWorkflowOrTemplatesValid(store *Store, filteredTemplatePaths map[string] } func isParsingError(message string, template string, err error) bool { - if strings.Contains(err.Error(), templates.TemplateExecuterCreationErrorMessage) { + if err == templates.ErrCreateTemplateExecutor { return false } if err == filter.ErrExcluded { diff --git a/v2/pkg/templates/compile.go b/v2/pkg/templates/compile.go index c5e6481d0..cd22ae979 100644 --- a/v2/pkg/templates/compile.go +++ b/v2/pkg/templates/compile.go @@ -19,10 +19,11 @@ import ( "github.com/projectdiscovery/nuclei/v2/pkg/utils" ) -const TemplateExecuterCreationErrorMessage = "cannot create template executer" - -var parsedTemplatesCache = cache.New() -var fieldErrorRegexp = regexp.MustCompile(`not found in`) +var ( + ErrCreateTemplateExecutor = errors.New("cannot create template executer") + parsedTemplatesCache = cache.New() + fieldErrorRegexp = regexp.MustCompile(`not found in`) +) // Parse parses a yaml request template file //nolint:gocritic // this cannot be passed by pointer @@ -142,7 +143,7 @@ func Parse(filePath string, preprocessor Preprocessor, options protocols.Execute template.TotalRequests += template.Executer.Requests() } if template.Executer == nil && template.CompiledWorkflow == nil { - return nil, errors.New(TemplateExecuterCreationErrorMessage) + return nil, ErrCreateTemplateExecutor } template.Path = filePath