123456789101112131415161718192021222324252627282930313233343536373839 |
- package env
- import (
- "regexp"
- "strings"
- )
- // URLReplacement represents a URL replacement configuration
- type URLReplacement struct {
- Regexp *regexp.Regexp
- Replacement string
- }
- // URLReplacements parses URL replacements from the environment variable
- func URLReplacements(s *[]URLReplacement, desc Desc) error {
- value, ok := desc.Get()
- if !ok {
- return nil
- }
- ss := []URLReplacement(nil)
- keyvalues := strings.Split(value, ";")
- for _, keyvalue := range keyvalues {
- parts := strings.SplitN(keyvalue, "=", 2)
- if len(parts) != 2 {
- return desc.Errorf("invalid key/value: %s", keyvalue)
- }
- ss = append(ss, URLReplacement{
- Regexp: RegexpFromPattern(parts[0]),
- Replacement: parts[1],
- })
- }
- *s = ss
- return nil
- }
|