in http/main.go [49:82]
func (h *httpNotifier) SetUp(ctx context.Context, cfg *notifiers.Config, httpTemplate string, sg notifiers.SecretGetter, br notifiers.BindingResolver) error {
prd, err := notifiers.MakeCELPredicate(cfg.Spec.Notification.Filter)
if err != nil {
return fmt.Errorf("failed to create CELPredicate: %w", err)
}
h.filter = prd
h.br = br
if url, ok := cfg.Spec.Notification.Delivery["url"].(string); ok {
h.url = url
} else {
uRef, err := notifiers.GetSecretRef(cfg.Spec.Notification.Delivery, urlSecretName)
if err != nil {
return fmt.Errorf("failed to get Secret ref from delivery config (%v) field %q: %w", cfg.Spec.Notification.Delivery, urlSecretName, err)
}
uResource, err := notifiers.FindSecretResourceName(cfg.Spec.Secrets, uRef)
if err != nil {
return fmt.Errorf("failed to find Secret for ref %q: %w", uRef, err)
}
url, err := sg.GetSecret(ctx, uResource)
if err != nil {
return fmt.Errorf("failed to get token secret: %w", err)
}
h.url = url
}
tmpl, err := template.New("http_template").Parse(httpTemplate)
if err != nil {
return fmt.Errorf("failed to parse template: %v", err)
}
h.tmpl = tmpl
return nil
}