summaryrefslogtreecommitdiff
path: root/service/env/service.go
diff options
context:
space:
mode:
Diffstat (limited to 'service/env/service.go')
-rw-r--r--service/env/service.go23
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
+}