2021-08-09 00:22:09 +02:00
|
|
|
package generators
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"os"
|
|
|
|
|
|
|
|
|
|
"github.com/projectdiscovery/stringsutil"
|
|
|
|
|
)
|
|
|
|
|
|
2021-08-09 09:49:07 +02:00
|
|
|
var envVars map[string]interface{}
|
|
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
|
// snapshot env vars at bootstrap
|
|
|
|
|
envVars = parseEnvVars()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func parseEnvVars() map[string]interface{} {
|
2021-08-09 00:22:09 +02:00
|
|
|
sliceEnvVars := os.Environ()
|
|
|
|
|
envVars := make(map[string]interface{}, len(sliceEnvVars))
|
|
|
|
|
for _, envVar := range sliceEnvVars {
|
|
|
|
|
key, val := stringsutil.Before(envVar, "="), stringsutil.After(envVar, "=")
|
|
|
|
|
envVars[key] = val
|
|
|
|
|
}
|
|
|
|
|
return envVars
|
|
|
|
|
}
|
2021-08-09 09:49:07 +02:00
|
|
|
|
|
|
|
|
// EnvVars returns a map with all environment variables into a map
|
|
|
|
|
func EnvVars() map[string]interface{} {
|
|
|
|
|
if envVars == nil {
|
|
|
|
|
envVars = parseEnvVars()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return envVars
|
|
|
|
|
}
|