diff options
Diffstat (limited to 'service/env/service.go')
-rw-r--r-- | service/env/service.go | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/service/env/service.go b/service/env/service.go index 0822d55a..41e70bee 100644 --- a/service/env/service.go +++ b/service/env/service.go @@ -1,7 +1,12 @@ package env -// ID contains default svc name. -const ID = "env" +const ( + // ID contains default service name. + ID = "env" + + // rrKey contains default env key to indicate than php running in RR mode. + rrKey = "rr" +) // Service provides ability to map _ENV values from config file. type Service struct { @@ -12,16 +17,17 @@ type Service struct { // NewService creates new env service instance for given rr version. func NewService(defaults map[string]string) *Service { s := &Service{values: defaults} - if s.values == nil { - s.values = make(map[string]string) - } - return s } // Init must return configure svc and return true if svc hasStatus enabled. Must return error in case of // misconfiguration. Services must not be used without proper configuration pushed first. func (s *Service) Init(cfg *Config) (bool, error) { + if s.values == nil { + s.values = make(map[string]string) + s.values[rrKey] = "yes" + } + for k, v := range cfg.Values { s.values[k] = v } @@ -33,3 +39,8 @@ func (s *Service) Init(cfg *Config) (bool, error) { func (s *Service) GetEnv() (map[string]string, error) { return s.values, nil } + +// SetEnv sets or creates environment value. +func (s *Service) SetEnv(key, value string) { + s.values[key] = value +} |