mirror of
https://github.com/projectdiscovery/nuclei.git
synced 2025-12-29 22:23:02 +00:00
feat(templates): impl Template.hasMultipleProtocols check
Signed-off-by: Dwi Siswanto <git@dw1.io>
This commit is contained in:
parent
ec4a77e7c0
commit
e945ac1e25
@ -147,6 +147,9 @@ func (template *Template) parseSelfContainedRequests() {
|
||||
for _, request := range template.RequestsHeadless {
|
||||
request.SelfContained = true
|
||||
}
|
||||
for _, request := range template.RequestsCode {
|
||||
request.SelfContained = true
|
||||
}
|
||||
}
|
||||
|
||||
// Requests returns the total request count for the template
|
||||
@ -178,11 +181,12 @@ func (template *Template) compileProtocolRequests(options *protocols.ExecutorOpt
|
||||
|
||||
var requests []protocols.Request
|
||||
|
||||
if template.hasMultipleRequests() {
|
||||
// when multiple requests are present preserve the order of requests and protocols
|
||||
// which is already done during unmarshalling
|
||||
// when multiple requests or protocols are present, preserve the
|
||||
// order of requests and protocols which already done during the
|
||||
// unmarshalling process or else.
|
||||
if template.hasMultipleRequests() || template.hasMultipleProtocols() {
|
||||
requests = template.RequestsQueue
|
||||
if options.Flow == "" {
|
||||
if template.hasMultipleProtocols() && options.Flow == "" {
|
||||
options.IsMultiProtocol = true
|
||||
}
|
||||
} else {
|
||||
@ -430,6 +434,8 @@ func parseTemplate(data []byte, options protocols.ExecutorOptions) (*Template, e
|
||||
return nil, err
|
||||
}
|
||||
|
||||
template.parseSelfContainedRequests()
|
||||
|
||||
if template.Executer != nil {
|
||||
if err := template.Executer.Compile(); err != nil {
|
||||
return nil, errors.Wrap(err, "could not compile request")
|
||||
@ -439,7 +445,6 @@ func parseTemplate(data []byte, options protocols.ExecutorOptions) (*Template, e
|
||||
if template.Executer == nil && template.CompiledWorkflow == nil {
|
||||
return nil, ErrCreateTemplateExecutor
|
||||
}
|
||||
template.parseSelfContainedRequests()
|
||||
|
||||
// check if the template is verified
|
||||
// only valid templates can be verified or signed
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user