INNER CODE UNIT · Go
func
platform-engineering-labs/formae · internal/workflow_tests/cmd/test-oidc-broker/main.go:24
func (b *broker) Configure(raw json.RawMessage) error {
var cfg struct {
ControlURL string `json:"controlUrl"`
StartupURL string `json:"startupUrl"`
CompletionURL string `json:"completionUrl"`
}
if json.Unmarshal(raw, &cfg) != nil {
return errors.New("invalid test broker configuration")
}
u, err := url.Parse(cfg.ControlURL)
if err != nil || u.Scheme != "http" || u.User != nil || !net.ParseIP(u.Hostname()).IsLoopback() {
return errors.New("test broker requires literal loopback HTTP controller")
}
if cfg.StartupURL != "" {
startup, err := url.Parse(cfg.StartupURL)
if err != nil || startup.Scheme != "http" || startup.User != nil || !net.ParseIP(startup.Hostname()).IsLoopback() {
return errors.New("test broker requires literal loopback startup controller")
}