From b09bfd6c1e423762cc97675fd6d148e83a809a47 Mon Sep 17 00:00:00 2001 From: yusing Date: Wed, 15 Oct 2025 00:12:17 +0800 Subject: [PATCH] fix(serialization): use replace os.LookupEnv with env.LookupEnv --- internal/serialization/serialization.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/internal/serialization/serialization.go b/internal/serialization/serialization.go index 3cbe0e67..5ea44243 100644 --- a/internal/serialization/serialization.go +++ b/internal/serialization/serialization.go @@ -15,6 +15,7 @@ import ( "github.com/puzpuzpuz/xsync/v4" "github.com/yusing/godoxy/internal/utils" gi "github.com/yusing/gointernals" + "github.com/yusing/goutils/env" gperr "github.com/yusing/goutils/errs" strutils "github.com/yusing/goutils/strings" ) @@ -603,7 +604,9 @@ func substituteEnv(data []byte) ([]byte, gperr.Error) { envError := gperr.NewBuilder("env substitution error") data = envRegex.ReplaceAllFunc(data, func(match []byte) []byte { varName := string(match[2 : len(match)-1]) - env, ok := os.LookupEnv(varName) + // NOTE: use env.LookupEnv instead of os.LookupEnv to support environment variable prefixes + // like ${API_ADDR} will lookup for GODOXY_API_ADDR, GOPROXY_API_ADDR and API_ADDR. + env, ok := env.LookupEnv(varName) if !ok { envError.Addf("%s is not set", varName) }