nuclei/v2/pkg/templates/templates.go

45 lines
1.3 KiB
Go
Raw Normal View History

package templates
import (
2020-07-01 10:47:24 +00:00
"github.com/projectdiscovery/nuclei/v2/pkg/requests"
)
// Template is a request template parsed from a yaml file
type Template struct {
// ID is the unique id for the template
ID string `yaml:"id"`
// Info contains information about the template
Info Info `yaml:"info"`
2020-07-18 19:42:23 +00:00
// BulkRequestsHTTP contains the http request to make in the template
BulkRequestsHTTP []*requests.BulkHTTPRequest `yaml:"requests,omitempty"`
// RequestsDNS contains the dns request to make in the template
2020-06-29 12:13:08 +00:00
RequestsDNS []*requests.DNSRequest `yaml:"dns,omitempty"`
}
// Info contains information about the request template
type Info struct {
// Name is the name of the template
Name string `yaml:"name"`
// Author is the name of the author of the template
Author string `yaml:"author"`
// Severity optionally describes the severity of the template
Severity string `yaml:"severity,omitempty"`
// Description optionally describes the template.
Description string `yaml:"description,omitempty"`
}
2020-07-26 14:36:01 +00:00
func (t* Template) GetHTTPRequestCount() int64 {
var count int64 = 0
2020-07-23 18:19:19 +00:00
for _, request := range t.BulkRequestsHTTP {
count += request.GetRequestCount()
}
return count
2020-07-26 14:36:01 +00:00
}
func (t *Template) GetDNSRequestCount() int64 {
var count int64 = 0
for _, request := range t.RequestsDNS {
count += request.GetRequestCount()
}
return count
}