Castle.MonoRail.Framework.EngineContextModule.CreateRailsEngineContext C# (CSharp) Method

CreateRailsEngineContext() private method

private CreateRailsEngineContext ( HttpContext context ) : IRailsEngineContext
context System.Web.HttpContext
return IRailsEngineContext
		private IRailsEngineContext CreateRailsEngineContext(HttpContext context)
		{
			IRailsEngineContext mrContext = ObtainRailsEngineContext(context);

			if (mrContext == null)
			{
				IUrlTokenizer urlTokenizer = (IUrlTokenizer) container.GetService(typeof(IUrlTokenizer));

				HttpRequest req = context.Request;

				UrlInfo urlInfo = urlTokenizer.TokenizeUrl(req.FilePath, req.Url, req.IsLocal, req.ApplicationPath);

				IServiceProvider userServiceProvider = ServiceProviderLocator.Instance.LocateProvider();

				DefaultRailsEngineContext newContext = new DefaultRailsEngineContext(container, urlInfo, context, userServiceProvider);

				context.Items[RailsContextKey] = newContext;

				newContext.AddService(typeof(IRailsEngineContext), newContext);

				mrContext = newContext;
			}

			return mrContext;
		}