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);
        }