func()

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
}