mirror of
https://github.com/projectdiscovery/nuclei.git
synced 2025-12-19 00:17:16 +00:00
* feat: conditionally panic-recover As discussed with @Mzack9999, we should avoid overusing panic-recover. We need to review the RCA first to determine whether this is an exceptional situation or if it's a higher-level function meant to recover from a panic. This approach will help us establish a robust error-handling strategy. The implementation of panic-recover should be conditional and NOT applied when running in a CI environment AND IS temporary. Once we've caught all errors and made the necessary corrections, we can remove the deferred recover function. Signed-off-by: Dwi Siswanto <git@dw1.io> * chore(deps): bump `go-ci` to v1.0.2 Signed-off-by: Dwi Siswanto <git@dw1.io> * chore(make): add `-race` to `GOFLAGS` in `test` Signed-off-by: Dwi Siswanto <git@dw1.io> --------- Signed-off-by: Dwi Siswanto <git@dw1.io>
tmplexec
tmplexec also known as template executer executes template it is different from protocols package which only contains logic within the scope of one protocol. tmplexec is resposible for executing Template with defined logic. with introduction of multi protocol and flow templates (deprecated package protocols/common/executer) did not seem appropriate/helpful anymore as it is outside of protocol scope and deals with execution of template which can contain 1 requests , or multiple requests of same protocol or multiple requests of different protocols. tmplexec is responsible for executing template and handling all logic related to it.
Engine/Backends
Currently there are 3 engines for template execution
Generic=> executes request[s] of same/one protocolMultiProtocol=> executes requests of multiple protocols with shared logic between protocol requests see multiprotocolFlow=> executes requests of one or multiple protocol requests as specified by template in javascript (aka flow) flow