mirror of
https://github.com/projectdiscovery/nuclei.git
synced 2025-12-18 23:15:27 +00:00
21 lines
522 B
Go
21 lines
522 B
Go
|
|
package protocolstate
|
||
|
|
|
||
|
|
import (
|
||
|
|
"github.com/dop251/goja"
|
||
|
|
"github.com/dop251/goja/parser"
|
||
|
|
"github.com/projectdiscovery/gologger"
|
||
|
|
)
|
||
|
|
|
||
|
|
// NewJSRuntime returns a new javascript runtime
|
||
|
|
// with defaults set
|
||
|
|
// i.e sourcemap parsing is disabled by default
|
||
|
|
func NewJSRuntime() *goja.Runtime {
|
||
|
|
vm := goja.New()
|
||
|
|
vm.SetParserOptions(parser.WithDisableSourceMaps)
|
||
|
|
// disable eval by default
|
||
|
|
if err := vm.Set("eval", "undefined"); err != nil {
|
||
|
|
gologger.Error().Msgf("could not set eval to undefined: %s", err)
|
||
|
|
}
|
||
|
|
return vm
|
||
|
|
}
|