github.com/projectdiscovery/nuclei/v2@v2.9.15/pkg/protocols/common/generators/env.go (about)

     1  package generators
     2  
     3  import (
     4  	"os"
     5  
     6  	stringsutil "github.com/projectdiscovery/utils/strings"
     7  )
     8  
     9  var envVars map[string]interface{}
    10  
    11  func parseEnvVars() map[string]interface{} {
    12  	sliceEnvVars := os.Environ()
    13  	parsedEnvVars := make(map[string]interface{}, len(sliceEnvVars))
    14  	for _, envVar := range sliceEnvVars {
    15  		key, _ := stringsutil.Before(envVar, "=")
    16  		val, _ := stringsutil.After(envVar, "=")
    17  		parsedEnvVars[key] = val
    18  	}
    19  	return parsedEnvVars
    20  }
    21  
    22  // EnvVars returns a map with all environment variables into a map
    23  func EnvVars() map[string]interface{} {
    24  	if envVars == nil {
    25  		envVars = parseEnvVars()
    26  	}
    27  
    28  	return envVars
    29  }