FubuMVC.Core.Http.Owin.FubuOwinHost.Invoke C# (CSharp) Method

Invoke() public method

public Invoke ( object>.IDictionary environment ) : System.Threading.Tasks.Task
environment object>.IDictionary
return System.Threading.Tasks.Task
        public async Task Invoke(IDictionary<string, object> environment)
        {
            var owinHttpContext = new OwinHttpContext(environment);
            var routeData = _routes.GetRouteData(owinHttpContext);
            if (routeData == null)
            {
                write404(environment);
                return;
            }


            new OwinRequestReader().Read(environment);

            var arguments = new OwinServiceArguments(routeData, environment);
            var invoker = routeData.RouteHandler.As<FubuRouteHandler>().Invoker;

            try
            {
                await invoker.Invoke(arguments, routeData.Values).ConfigureAwait(false);
            }
            catch (Exception e)
            {
                write500(environment, e);
            }
        }