Skip to content

Conversation

@justintoman
Copy link

I am new to Go, so apologies if I did things in a silly way.

I noticed the env prefix does not get applied to the ENV variable names in the case of more than one argument being passed to BindEnv. I tried to fix this and add a test case to verify.

os.Setenv("APP_FOO", "with prefix")
os.Setenv("FOO", "without prefix")

viper.SetEnvPrefix("APP")
viper.AutomaticEnv()

viper.BindEnv("a.b", "FOO")


viper.Get("a.b") // before: "without prefix", after: "with prefix"

type Nested struct {
  b  string `mapstructure:"b"`
}

type Root struct {
  a Nested `mapstructure:"a"`
}

var a Root
viper.Unmarshal(a)
a.b // before: "without prefix", after: "with prefix"

@CLAassistant
Copy link

CLAassistant commented Jun 26, 2024

CLA assistant check
All committers have signed the CLA.

@github-actions
Copy link

👋 Thanks for contributing to Viper! You are awesome! 🎉

A maintainer will take a look at your pull request shortly. 👀

In the meantime: We are working on Viper v2 and we would love to hear your thoughts about what you like or don't like about Viper, so we can improve or fix those issues.

⏰ If you have a couple minutes, please take some time and share your thoughts: https://forms.gle/R6faU74qPRPAzchZ9

📣 If you've already given us your feedback, you can still help by spreading the news,
either by sharing the above link or telling people about this on Twitter:

https://twitter.com/sagikazarmark/status/1306904078967074816

Thank you! ❤️

@justintoman justintoman force-pushed the env-prefix-bind-env branch from f0914ba to e4d50ca Compare June 26, 2024 22:42
@justintoman justintoman force-pushed the env-prefix-bind-env branch from e4d50ca to f0483c5 Compare June 26, 2024 22:49
@rishavch2104 rishavch2104 mentioned this pull request Mar 1, 2025
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants