in funcframework/events.go [168:184]
func validateEventFunction(fn interface{}) error {
ft := reflect.TypeOf(fn)
if ft.NumIn() != 2 {
return fmt.Errorf("expected function to have two parameters, found %d", ft.NumIn())
}
var err error
errorType := reflect.TypeOf(&err).Elem()
if ft.NumOut() != 1 || !ft.Out(0).AssignableTo(errorType) {
return fmt.Errorf("expected function to return only an error")
}
var ctx context.Context
ctxType := reflect.TypeOf(&ctx).Elem()
if !ctxType.AssignableTo(ft.In(0)) {
return fmt.Errorf("expected first parameter to be context.Context")
}
return nil
}