using System;
using System.Net.Http;
using System.Web;
using System.Web.Http;
using System.Web.Http.Controllers;
using System.Web.Http.Hosting;
using System.Web.Http.Routing;
namespace Umbraco.Web.WebApi
{
internal static class WebApiHelper
{
///
/// A helper method to create a WebAPI HttpControllerContext which can be used to execute a controller manually
///
///
///
///
///
internal static HttpControllerContext CreateContext(HttpMethod method, Uri uri, HttpContextBase httpContext)
{
var config = new HttpConfiguration(GlobalConfiguration.Configuration.Routes);
IHttpRouteData route = new HttpRouteData(new HttpRoute());
var req = new HttpRequestMessage(method, uri);
req.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
req.Properties[HttpPropertyKeys.HttpRouteDataKey] = route;
req.Properties["MS_HttpContext"] = httpContext;
return new HttpControllerContext(config, route, req);
}
}
}