api/pkg/plugins/http_mock/protocol_options.go

34 lines
649 B
Go
Raw Normal View History

package main
import "github.com/spf13/viper"
const (
rulesConfigKey = "rules"
patternConfigKey = "pattern"
targetConfigKey = "target"
)
type targetRule struct {
pattern string
target string
}
type httpOptions struct {
Rules []targetRule
}
func loadFromConfig(config *viper.Viper) httpOptions {
options := httpOptions{}
anonRules := config.Get(rulesConfigKey).([]interface{})
for _, i := range anonRules {
innerData := i.(map[interface{}]interface{})
options.Rules = append(options.Rules, targetRule{
pattern: innerData[patternConfigKey].(string),
target: innerData[targetConfigKey].(string),
})
}
return options
}