Files
gtav-src/tools_ng/bin/CruiseControl/WebDashboard/MVC/ASPNET/HttpHandler.cs
T
2025-09-29 00:52:08 +02:00

35 lines
1.3 KiB
C#
Executable File

using System.Reflection;
using System.Web;
using Objection;
using ThoughtWorks.CruiseControl.WebDashboard.Dashboard;
namespace ThoughtWorks.CruiseControl.WebDashboard.MVC.ASPNET
{
// No need for session state yet, but if we do later then we should also add IRequiresSessionState to list of interfaces
public class HttpHandler : IHttpHandler
{
private const string RESOLVED_TYPE_MAP = "ResolvedTypeMap";
public void ProcessRequest(HttpContext context)
{
ObjectionStore objectionStore = new ObjectionStore(
new CachingImplementationResolver(new NMockAwareImplementationResolver(), new CachedTypeMap(context.Cache, RESOLVED_TYPE_MAP)),
new MaxLengthConstructorSelectionStrategy());
ObjectSource objectSource = new CruiseObjectSourceInitializer(objectionStore).SetupObjectSourceForRequest(context);
context.Response.AppendHeader("X-CCNet-Version",
string.Format("CruiseControl.NET/{0}", Assembly.GetExecutingAssembly().GetName().Version));
Assembly.GetExecutingAssembly().GetName().Version.ToString();
IResponse response = ((RequestController) objectSource.GetByType(typeof (RequestController))).Do();
response.Process(context.Response);
context.Response.Flush();
}
public bool IsReusable
{
get { return true; }
}
}
}