in client/validate.go [235:286]
func (v validator) validate(url string) error {
if v.validateConcurrency {
return validateConcurrency(url, v.declarativeSignature)
}
switch v.declarativeSignature {
case "http":
// Validate HTTP signature, if provided
log.Printf("HTTP validation started...")
if err := v.validateHTTP(url); err != nil {
return err
}
log.Printf("HTTP validation passed!")
return nil
case "typed":
// Validate a typed declarartive function signature
log.Printf("Typed validation started...")
if err := v.validateTyped(url); err != nil {
return err
}
log.Printf("Typed validation passed!")
return nil
case "cloudevent":
// Validate CloudEvent signature, if provided
log.Printf("CloudEvent validation with CloudEvent requests...")
if err := v.validateEvents(url, events.CloudEvent, events.CloudEvent); err != nil {
return err
}
if v.validateMapping {
log.Printf("CloudEvent validation with legacy event requests...")
if err := v.validateEvents(url, events.LegacyEvent, events.CloudEvent); err != nil {
return err
}
}
log.Printf("CloudEvent validation passed!")
return nil
case "legacyevent":
// Validate legacy event signature, if provided
log.Printf("Legacy event validation with legacy event requests...")
if err := v.validateEvents(url, events.LegacyEvent, events.LegacyEvent); err != nil {
return err
}
if v.validateMapping {
log.Printf("Legacy event validation with CloudEvent requests...")
if err := v.validateEvents(url, events.CloudEvent, events.LegacyEvent); err != nil {
return err
}
}
log.Printf("Legacy event validation passed!")
return nil
}
return fmt.Errorf("expected --declarative-type to be one of 'http', 'cloudevent', 'legacyevent', or 'typed' got %q", v.declarativeSignature)
}