func validateTypedFunction()

in funcframework/framework.go [279:292]


func validateTypedFunction(fn interface{}) (*reflect.Value, error) {
	ft := reflect.TypeOf(fn)
	if ft.NumIn() != 1 {
		return nil, fmt.Errorf("expected function to have one parameters, found %d", ft.NumIn())
	}
	if ft.NumOut() > 2 {
		return nil, fmt.Errorf("expected function to have maximum two return values")
	}
	if ft.NumOut() > 0 && !ft.Out(ft.NumOut()-1).AssignableTo(errorType) {
		return nil, fmt.Errorf("expected last return type to be of error")
	}
	var inputType = reflect.New(ft.In(0))
	return &inputType, nil
}