public FlaskyConfiguration AddRouteHandler(string path, Type type, string method) { //this is an experiment var regexRoute = new RegexRoute(path); Func<OwinRequest, object> handler = (req) => { var typeMethod = type.GetMethod(method); var typeArgs = typeMethod.GetParameters(); var arguments = new List<object>(); foreach (var parameterInfo in typeArgs) { if(parameterInfo.ParameterType == typeof (OwinRequest)) { arguments.Add(req); } else { arguments.Add(regexRoute.GetParameterValue(req.Path, parameterInfo.Name)); } } return typeMethod.Invoke(type, arguments.ToArray()); }; _routeHandlers.Add(regexRoute, handler); return this; }
public FlaskyConfiguration AddRouteHandler(string path, Type type, string method) { //this is an experiment var regexRoute = new RegexRoute(path); Func <OwinRequest, object> handler = (req) => { var typeMethod = type.GetMethod(method); var typeArgs = typeMethod.GetParameters(); var arguments = new List <object>(); foreach (var parameterInfo in typeArgs) { if (parameterInfo.ParameterType == typeof(OwinRequest)) { arguments.Add(req); } else { arguments.Add(regexRoute.GetParameterValue(req.Path, parameterInfo.Name)); } } return(typeMethod.Invoke(type, arguments.ToArray())); }; _routeHandlers.Add(regexRoute, handler); return(this); }