blob: 6efeed464e67715cef491c62f2e3b817a6af58cd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
package env
import (
"os"
)
func With(env Vars, callback func()) {
original := Vars{}
for key, value := range env {
if val, ok := os.LookupEnv(key); ok {
original[key] = val
}
os.Setenv(key, value)
}
defer func() {
for key, _ := range env {
os.Unsetenv(key)
}
for key, value := range original {
os.Setenv(key, value)
}
}()
callback()
}
|