Cleanup usage of HTTP property keys.
This commit is contained in:
Родитель
c352a01d9c
Коммит
035cb96e8e
|
@ -147,7 +147,7 @@ namespace System.Web.Http.Cors
|
|||
|
||||
private static HttpActionDescriptor SelectAction(HttpRequestMessage request, IHttpRouteData routeData, HttpConfiguration config)
|
||||
{
|
||||
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = routeData;
|
||||
request.SetRouteData(routeData);
|
||||
|
||||
RemoveOptionalRoutingParameters(routeData.Values);
|
||||
|
||||
|
|
|
@ -93,7 +93,7 @@ namespace System.Web.Http.WebHost
|
|||
HttpRequestMessage request = contextBase.GetHttpRequestMessage() ?? ConvertRequest(contextBase);
|
||||
|
||||
// Add route data
|
||||
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = _routeData;
|
||||
request.SetRouteData(_routeData);
|
||||
|
||||
HttpResponseMessage response = await _server.SendAsync(request, CancellationToken.None);
|
||||
await ConvertResponse(contextBase, response, request);
|
||||
|
|
|
@ -201,7 +201,7 @@ namespace System.Web.Http
|
|||
|
||||
if (Request != null)
|
||||
{
|
||||
Request.Properties[HttpPropertyKeys.HttpActionDescriptorKey] = actionDescriptor;
|
||||
Request.SetActionDescriptor(actionDescriptor);
|
||||
}
|
||||
|
||||
HttpActionContext actionContext = new HttpActionContext(controllerContext, actionDescriptor);
|
||||
|
|
|
@ -110,13 +110,13 @@ namespace System.Web.Http.Dispatcher
|
|||
HttpConfiguration requestConfig = request.GetConfiguration();
|
||||
if (requestConfig == null)
|
||||
{
|
||||
request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, httpControllerDescriptor.Configuration);
|
||||
request.SetConfiguration(httpControllerDescriptor.Configuration);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (requestConfig != httpControllerDescriptor.Configuration)
|
||||
{
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = httpControllerDescriptor.Configuration;
|
||||
request.SetConfiguration(httpControllerDescriptor.Configuration);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -62,13 +62,13 @@ namespace System.Web.Http.Dispatcher
|
|||
{
|
||||
// Lookup route data, or if not found as a request property then we look it up in the route table
|
||||
IHttpRouteData routeData;
|
||||
if (!request.Properties.TryGetValue(HttpPropertyKeys.HttpRouteDataKey, out routeData))
|
||||
if (!request.TryGetRouteData(out routeData))
|
||||
{
|
||||
routeData = _configuration.Routes.GetRouteData(request);
|
||||
|
||||
if (routeData != null)
|
||||
{
|
||||
request.Properties.Add(HttpPropertyKeys.HttpRouteDataKey, routeData);
|
||||
request.SetRouteData(routeData);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -105,6 +105,16 @@ namespace System.Net.Http
|
|||
return request.GetProperty<SynchronizationContext>(HttpPropertyKeys.SynchronizationContextKey);
|
||||
}
|
||||
|
||||
internal static void SetSynchronizationContext(this HttpRequestMessage request, SynchronizationContext syncronizationContext)
|
||||
{
|
||||
if (request == null)
|
||||
{
|
||||
throw Error.ArgumentNull("request");
|
||||
}
|
||||
|
||||
request.Properties[HttpPropertyKeys.SynchronizationContextKey] = syncronizationContext;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the current <see cref="T:System.Security.Cryptography.X509Certificates.X509Certificate2"/> or null if not available.
|
||||
/// </summary>
|
||||
|
@ -172,6 +182,16 @@ namespace System.Net.Http
|
|||
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = routeData;
|
||||
}
|
||||
|
||||
internal static bool TryGetRouteData(this HttpRequestMessage request, out IHttpRouteData routeData)
|
||||
{
|
||||
if (request == null)
|
||||
{
|
||||
throw Error.ArgumentNull("request");
|
||||
}
|
||||
|
||||
return request.Properties.TryGetValue<IHttpRouteData>(HttpPropertyKeys.HttpRouteDataKey, out routeData);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the <see cref="System.Web.Http.Controllers.HttpActionDescriptor"/> selected for the given request or null if not available.
|
||||
/// </summary>
|
||||
|
@ -187,6 +207,16 @@ namespace System.Net.Http
|
|||
return request.GetProperty<HttpActionDescriptor>(HttpPropertyKeys.HttpActionDescriptorKey);
|
||||
}
|
||||
|
||||
internal static void SetActionDescriptor(this HttpRequestMessage request, HttpActionDescriptor actionDescriptor)
|
||||
{
|
||||
if (request == null)
|
||||
{
|
||||
throw Error.ArgumentNull("request");
|
||||
}
|
||||
|
||||
request.Properties[HttpPropertyKeys.HttpActionDescriptorKey] = actionDescriptor;
|
||||
}
|
||||
|
||||
private static T GetProperty<T>(this HttpRequestMessage request, string key)
|
||||
{
|
||||
T value;
|
||||
|
|
|
@ -145,11 +145,11 @@ namespace System.Web.Http
|
|||
SynchronizationContext context = SynchronizationContext.Current;
|
||||
if (context != null)
|
||||
{
|
||||
request.Properties.Add(HttpPropertyKeys.SynchronizationContextKey, context);
|
||||
request.SetSynchronizationContext(context);
|
||||
}
|
||||
|
||||
// Add HttpConfiguration object as a parameter to the request
|
||||
request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, _configuration);
|
||||
request.SetConfiguration(_configuration);
|
||||
|
||||
// Ensure we have a principal, even if the host didn't give us one
|
||||
IPrincipal originalPrincipal = Thread.CurrentPrincipal;
|
||||
|
|
|
@ -34,9 +34,9 @@ namespace System.Web.Http.Cors
|
|||
request.Headers.Add("Origin", "http://localhost");
|
||||
request.Headers.Add(CorsConstants.AccessControlRequestMethod, httpMethod);
|
||||
HttpConfiguration config = new HttpConfiguration();
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
|
||||
request.SetConfiguration(config);
|
||||
IHttpRoute route = config.Routes.MapHttpRoute("default", "{controller}/{id}", new { id = RouteParameter.Optional });
|
||||
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = route.GetRouteData("/", request);
|
||||
request.SetRouteData(route.GetRouteData("/", request));
|
||||
|
||||
ICorsPolicyProvider provider = providerFactory.GetCorsPolicyProvider(request);
|
||||
|
||||
|
@ -55,7 +55,7 @@ namespace System.Web.Http.Cors
|
|||
request.Headers.Add(CorsConstants.AccessControlRequestMethod, "GET");
|
||||
HttpConfiguration config = new HttpConfiguration();
|
||||
IHttpRoute route = config.Routes.MapHttpRoute("default", "{controller}/{id}", new { id = RouteParameter.Optional });
|
||||
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = route.GetRouteData("/", request);
|
||||
request.SetRouteData(route.GetRouteData("/", request));
|
||||
|
||||
Assert.Throws<InvalidOperationException>(() =>
|
||||
providerFactory.GetCorsPolicyProvider(request),
|
||||
|
@ -72,7 +72,7 @@ namespace System.Web.Http.Cors
|
|||
request.Headers.Add("Origin", "http://localhost");
|
||||
request.Headers.Add(CorsConstants.AccessControlRequestMethod, "GET");
|
||||
HttpConfiguration config = new HttpConfiguration();
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
|
||||
request.SetConfiguration(config);
|
||||
|
||||
var provider = providerFactory.GetCorsPolicyProvider(request);
|
||||
|
||||
|
@ -89,9 +89,9 @@ namespace System.Web.Http.Cors
|
|||
request.Headers.Add("Origin", "http://localhost");
|
||||
request.Headers.Add(CorsConstants.AccessControlRequestMethod, "RandomMethod");
|
||||
HttpConfiguration config = new HttpConfiguration();
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
|
||||
request.SetConfiguration(config);
|
||||
IHttpRoute route = config.Routes.MapHttpRoute("default", "{controller}/{id}", new { id = RouteParameter.Optional });
|
||||
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = route.GetRouteData("/", request);
|
||||
request.SetRouteData(route.GetRouteData("/", request));
|
||||
|
||||
ICorsPolicyProvider provider = providerFactory.GetCorsPolicyProvider(request);
|
||||
|
||||
|
@ -107,9 +107,9 @@ namespace System.Web.Http.Cors
|
|||
request.Headers.Add("Origin", "http://localhost");
|
||||
request.Headers.Add(CorsConstants.AccessControlRequestMethod, "RandomMethod");
|
||||
HttpConfiguration config = new HttpConfiguration();
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
|
||||
request.SetConfiguration(config);
|
||||
IHttpRoute route = config.Routes.MapHttpRoute("default", "{controller}/{id}", new { id = RouteParameter.Optional });
|
||||
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = route.GetRouteData("/", request);
|
||||
request.SetRouteData(route.GetRouteData("/", request));
|
||||
|
||||
Assert.True(request.GetCorsRequestContext().IsPreflight);
|
||||
Assert.Throws<HttpResponseException>(() =>
|
||||
|
@ -124,10 +124,10 @@ namespace System.Web.Http.Cors
|
|||
providerFactory.DefaultPolicyProvider = mockProvider;
|
||||
HttpRequestMessage request = new HttpRequestMessage();
|
||||
Func<string> action = new DefaultController().Get;
|
||||
request.Properties[HttpPropertyKeys.HttpActionDescriptorKey] = new ReflectedHttpActionDescriptor
|
||||
request.SetActionDescriptor(new ReflectedHttpActionDescriptor
|
||||
{
|
||||
MethodInfo = action.Method
|
||||
};
|
||||
});
|
||||
request.Headers.Add("Origin", "http://example.com");
|
||||
|
||||
ICorsPolicyProvider policyProvider = providerFactory.GetCorsPolicyProvider(request);
|
||||
|
@ -146,11 +146,11 @@ namespace System.Web.Http.Cors
|
|||
ControllerName = "Sample",
|
||||
ControllerType = typeof(SampleController)
|
||||
};
|
||||
request.Properties[HttpPropertyKeys.HttpActionDescriptorKey] = new ReflectedHttpActionDescriptor
|
||||
request.SetActionDescriptor(new ReflectedHttpActionDescriptor
|
||||
{
|
||||
MethodInfo = action.Method,
|
||||
ControllerDescriptor = controllerDescriptor
|
||||
};
|
||||
});
|
||||
request.Headers.Add("Origin", "http://example.com");
|
||||
|
||||
ICorsPolicyProvider policyProvider = providerFactory.GetCorsPolicyProvider(request);
|
||||
|
@ -165,10 +165,10 @@ namespace System.Web.Http.Cors
|
|||
AttributeBasedPolicyProviderFactory providerFactory = new AttributeBasedPolicyProviderFactory();
|
||||
HttpRequestMessage request = new HttpRequestMessage();
|
||||
Func<string> action = new SampleController().Post;
|
||||
request.Properties[HttpPropertyKeys.HttpActionDescriptorKey] = new ReflectedHttpActionDescriptor
|
||||
request.SetActionDescriptor(new ReflectedHttpActionDescriptor
|
||||
{
|
||||
MethodInfo = action.Method
|
||||
};
|
||||
});
|
||||
request.Headers.Add("Origin", "http://example.com");
|
||||
|
||||
ICorsPolicyProvider policyProvider = providerFactory.GetCorsPolicyProvider(request);
|
||||
|
|
|
@ -67,7 +67,7 @@ namespace System.Web.Http.Cors
|
|||
corsHandler.InnerHandler = server;
|
||||
HttpMessageInvoker invoker = new HttpMessageInvoker(corsHandler);
|
||||
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Options, "http://localhost/sample");
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
|
||||
request.SetConfiguration(config);
|
||||
request.Headers.Add(CorsConstants.Origin, "http://localhost");
|
||||
request.Headers.Add(CorsConstants.AccessControlRequestMethod, requestedMethod);
|
||||
request.Headers.Add(CorsConstants.AccessControlRequestHeaders, requestedHeaders);
|
||||
|
@ -152,7 +152,7 @@ namespace System.Web.Http.Cors
|
|||
corsHandler.InnerHandler = server;
|
||||
HttpMessageInvoker invoker = new HttpMessageInvoker(corsHandler);
|
||||
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Options, "http://localhost/sample");
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
|
||||
request.SetConfiguration(config);
|
||||
request.Headers.Add(CorsConstants.Origin, "http://localhost");
|
||||
request.Headers.Add(CorsConstants.AccessControlRequestMethod, "RandomMethod");
|
||||
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
|
||||
|
||||
using System.Net.Http;
|
||||
using System.Web.Http.Controllers;
|
||||
using System.Web.Http.Hosting;
|
||||
|
||||
namespace System.Web.Http.Cors
|
||||
{
|
||||
internal static class HttpRequestMethodExtensions
|
||||
{
|
||||
public static void SetActionDescriptor(this HttpRequestMessage request, HttpActionDescriptor actionDescriptor)
|
||||
{
|
||||
if (request == null)
|
||||
{
|
||||
throw new ArgumentNullException("request");
|
||||
}
|
||||
|
||||
request.Properties[HttpPropertyKeys.HttpActionDescriptorKey] = actionDescriptor;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -70,6 +70,7 @@
|
|||
<Compile Include="CorsHttpConfigurationExtensionsTest.cs" />
|
||||
<Compile Include="CorsHttpRequestMessageExtensionsTest.cs" />
|
||||
<Compile Include="CorsHttpResponseMessageExtensionsTest.cs" />
|
||||
<Compile Include="HttpRequestMethodExtensions.cs" />
|
||||
<Compile Include="Tracing\CorsEngineTracerTest.cs" />
|
||||
<Compile Include="Tracing\CorsPolicyProviderFactoryTracerTest.cs" />
|
||||
<Compile Include="Tracing\CorsPolicyProviderTracerTest.cs" />
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http.Hosting;
|
||||
using Microsoft.TestCommon;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
|
@ -54,10 +55,10 @@ namespace System.Web.Http
|
|||
string controllerName = "Exception";
|
||||
string requestUrl = String.Format("{0}/{1}/{2}", "http://www.foo.com", controllerName, "ArgumentNull");
|
||||
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, requestUrl);
|
||||
request.Properties["MS_IsLocal"] = new Lazy<bool>(() => isLocal);
|
||||
request.Properties[HttpPropertyKeys.IsLocalKey] = new Lazy<bool>(() => isLocal);
|
||||
if (customErrors != null)
|
||||
{
|
||||
request.Properties["MS_IncludeErrorDetail"] = new Lazy<bool>(() => !(bool)customErrors);
|
||||
request.Properties[HttpPropertyKeys.IncludeErrorDetailKey] = new Lazy<bool>(() => !(bool)customErrors);
|
||||
}
|
||||
|
||||
ScenarioHelper.RunTest(
|
||||
|
|
|
@ -46,8 +46,8 @@ namespace System.Web.Http
|
|||
HttpConfiguration config = configuration ?? new HttpConfiguration();
|
||||
IHttpRouteData route = routeData ?? new HttpRouteData(new HttpRoute());
|
||||
HttpRequestMessage req = request ?? new HttpRequestMessage();
|
||||
req.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
|
||||
req.Properties[HttpPropertyKeys.HttpRouteDataKey] = route;
|
||||
req.SetConfiguration(config);
|
||||
req.SetRouteData(route);
|
||||
return new HttpControllerContext(config, route, req) { ControllerDescriptor = new HttpControllerDescriptor(config) };
|
||||
}
|
||||
|
||||
|
|
|
@ -245,7 +245,7 @@ namespace System.Web.Http.OData
|
|||
string routeName = "Route";
|
||||
config.Routes.MapODataRoute(routeName, null, model);
|
||||
HttpRequestMessage request = new HttpRequestMessage(new HttpMethod("Mock"), "http://localhost/People");
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
|
||||
request.SetConfiguration(config);
|
||||
request.SetODataPath(new DefaultODataPathHandler().Parse(model, "People"));
|
||||
request.SetODataRouteName(routeName);
|
||||
controller.Request = request;
|
||||
|
|
|
@ -20,7 +20,7 @@ namespace System.Web.Http.OData
|
|||
{
|
||||
ApiController controller = new Mock<ApiController>().Object;
|
||||
var request = new HttpRequestMessage(HttpMethod.Post, "http://localhost/Customers");
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = new HttpConfiguration();
|
||||
request.SetConfiguration(new HttpConfiguration());
|
||||
controller.Request = request;
|
||||
|
||||
Assert.Throws<InvalidOperationException>(
|
||||
|
@ -33,7 +33,7 @@ namespace System.Web.Http.OData
|
|||
{
|
||||
ApiController controller = new Mock<ApiController>().Object;
|
||||
var request = new HttpRequestMessage(HttpMethod.Post, "http://localhost/Customers");
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = new HttpConfiguration();
|
||||
request.SetConfiguration(new HttpConfiguration());
|
||||
request.SetODataPath(new ODataPath(new MetadataPathSegment()));
|
||||
controller.Request = request;
|
||||
|
||||
|
|
|
@ -244,7 +244,7 @@ namespace System.Web.Http.OData
|
|||
string routeName = "Route";
|
||||
config.Routes.MapODataRoute(routeName, null, model);
|
||||
HttpRequestMessage request = new HttpRequestMessage(new HttpMethod("Mock"), "http://localhost/People");
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
|
||||
request.SetConfiguration(config);
|
||||
request.SetODataPath(new DefaultODataPathHandler().Parse(model, "People"));
|
||||
request.SetODataRouteName(routeName);
|
||||
controller.Request = request;
|
||||
|
|
|
@ -152,7 +152,7 @@ namespace System.Web.Http.OData.Formatter
|
|||
HttpRouteData routeData = new HttpRouteData(new HttpRoute());
|
||||
routeData.Values.Add("a", "prefix");
|
||||
routeData.Values.Add("b", "prefix2");
|
||||
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = routeData;
|
||||
request.SetRouteData(routeData);
|
||||
|
||||
ODataMediaTypeFormatter formatter = CreateFormatter(model, request, ODataPayloadKind.ServiceDocument);
|
||||
var content = new ObjectContent<ODataWorkspace>(new ODataWorkspace(), formatter);
|
||||
|
|
|
@ -20,7 +20,7 @@ namespace System.Web.Http.OData.Routing.Conventions
|
|||
ILookup<string, HttpActionDescriptor> emptyActionMap = new HttpActionDescriptor[0].ToLookup(desc => (string)null);
|
||||
HttpControllerContext controllerContext = new HttpControllerContext();
|
||||
controllerContext.Request = new HttpRequestMessage(HttpMethod.Post, "http://localhost/");
|
||||
controllerContext.Request.Properties[HttpPropertyKeys.HttpRouteDataKey] = new HttpRouteData(new HttpRoute());
|
||||
controllerContext.Request.SetRouteData(new HttpRouteData(new HttpRoute()));
|
||||
|
||||
string selectedAction = new ActionRoutingConvention().SelectAction(odataPath, controllerContext, emptyActionMap);
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ namespace System.Web.Http.OData.Routing.Conventions
|
|||
ILookup<string, HttpActionDescriptor> emptyActionMap = new HttpActionDescriptor[0].ToLookup(desc => (string)null);
|
||||
HttpControllerContext controllerContext = new HttpControllerContext();
|
||||
controllerContext.Request = new HttpRequestMessage(new HttpMethod(httpMethod), "http://localhost/");
|
||||
controllerContext.Request.Properties[HttpPropertyKeys.HttpRouteDataKey] = new HttpRouteData(new HttpRoute());
|
||||
controllerContext.Request.SetRouteData(new HttpRouteData(new HttpRoute()));
|
||||
|
||||
string selectedAction = new EntityRoutingConvention().SelectAction(odataPath, controllerContext, emptyActionMap);
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ namespace System.Web.Http.OData.Routing.Conventions
|
|||
ILookup<string, HttpActionDescriptor> emptyActionMap = new HttpActionDescriptor[0].ToLookup(desc => (string)null);
|
||||
HttpControllerContext controllerContext = new HttpControllerContext();
|
||||
controllerContext.Request = new HttpRequestMessage(new HttpMethod(httpMethod), "http://localhost/");
|
||||
controllerContext.Request.Properties[HttpPropertyKeys.HttpRouteDataKey] = new HttpRouteData(new HttpRoute());
|
||||
controllerContext.Request.SetRouteData(new HttpRouteData(new HttpRoute()));
|
||||
|
||||
string selectedAction = new EntitySetRoutingConvention().SelectAction(odataPath, controllerContext, emptyActionMap);
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ namespace System.Web.Http.OData.Routing.Conventions
|
|||
ILookup<string, HttpActionDescriptor> emptyActionMap = new HttpActionDescriptor[0].ToLookup(desc => (string)null);
|
||||
HttpControllerContext controllerContext = new HttpControllerContext();
|
||||
controllerContext.Request = new HttpRequestMessage(new HttpMethod(httpMethod), "http://localhost/");
|
||||
controllerContext.Request.Properties[HttpPropertyKeys.HttpRouteDataKey] = new HttpRouteData(new HttpRoute());
|
||||
controllerContext.Request.SetRouteData(new HttpRouteData(new HttpRoute()));
|
||||
|
||||
string selectedAction = new LinksRoutingConvention().SelectAction(odataPath, controllerContext, emptyActionMap);
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ namespace System.Web.Http.OData.Routing.Conventions
|
|||
ILookup<string, HttpActionDescriptor> emptyActionMap = new HttpActionDescriptor[0].ToLookup(desc => (string)null);
|
||||
HttpControllerContext controllerContext = new HttpControllerContext();
|
||||
controllerContext.Request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/");
|
||||
controllerContext.Request.Properties[HttpPropertyKeys.HttpRouteDataKey] = new HttpRouteData(new HttpRoute());
|
||||
controllerContext.Request.SetRouteData(new HttpRouteData(new HttpRoute()));
|
||||
|
||||
string selectedAction = new NavigationRoutingConvention().SelectAction(odataPath, controllerContext, emptyActionMap);
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ namespace System.Web.Http.OData.Routing.Conventions
|
|||
ILookup<string, HttpActionDescriptor> emptyActionMap = new HttpActionDescriptor[0].ToLookup(desc => (string)null);
|
||||
HttpControllerContext controllerContext = new HttpControllerContext();
|
||||
controllerContext.Request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/");
|
||||
controllerContext.Request.Properties[HttpPropertyKeys.HttpRouteDataKey] = new HttpRouteData(new HttpRoute());
|
||||
controllerContext.Request.SetRouteData(new HttpRouteData(new HttpRoute()));
|
||||
|
||||
string selectedAction = new NavigationRoutingConvention().SelectAction(odataPath, controllerContext, emptyActionMap);
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
using System.Linq;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.Hosting;
|
||||
using System.Web.Http.OData.Routing;
|
||||
using Microsoft.Data.Edm;
|
||||
using Microsoft.Data.Edm.Library;
|
||||
|
@ -87,14 +88,14 @@ namespace System.Net.Http
|
|||
{
|
||||
HttpConfiguration config = new HttpConfiguration() { IncludeErrorDetailPolicy = errorDetail };
|
||||
HttpRequestMessage request = new HttpRequestMessage();
|
||||
request.Properties.Add("MS_HttpConfiguration", config);
|
||||
request.SetConfiguration(config);
|
||||
if (isLocal.HasValue)
|
||||
{
|
||||
request.Properties.Add("MS_IsLocal", new Lazy<bool>(() => isLocal.Value));
|
||||
request.Properties.Add(HttpPropertyKeys.IsLocalKey, new Lazy<bool>(() => isLocal.Value));
|
||||
}
|
||||
if (includeErrorDetail.HasValue)
|
||||
{
|
||||
request.Properties.Add("MS_IncludeErrorDetail", new Lazy<bool>(() => includeErrorDetail.Value));
|
||||
request.Properties.Add(HttpPropertyKeys.IncludeErrorDetailKey, new Lazy<bool>(() => includeErrorDetail.Value));
|
||||
}
|
||||
ODataError error = new ODataError()
|
||||
{
|
||||
|
|
|
@ -66,7 +66,6 @@
|
|||
<Link>TestCommon\ContextUtil.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="ODataHttpRouteCollectionExtensionsTest.cs" />
|
||||
<Compile Include="HttpRequestMessageExtensions.cs" />
|
||||
<Compile Include="HttpRouteCollectionExtensions.cs" />
|
||||
<Compile Include="ODataHttpRequestMessageExtensionsTest.cs" />
|
||||
<Compile Include="ODataHttpErrorExtensionsTest.cs" />
|
||||
|
|
|
@ -514,7 +514,7 @@ namespace System.Web.Http.Owin
|
|||
|
||||
if (AddNoRouteMatchedKey)
|
||||
{
|
||||
request.Properties["MS_NoRouteMatched"] = true;
|
||||
request.Properties[HttpPropertyKeys.NoRouteMatched] = true;
|
||||
}
|
||||
|
||||
return TaskHelpers.FromResult<HttpResponseMessage>(Response);
|
||||
|
|
|
@ -19,7 +19,7 @@ namespace System.Web.Http.Dispatcher
|
|||
// Arrange
|
||||
var config = new HttpConfiguration();
|
||||
var request = new HttpRequestMessage();
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
|
||||
request.SetConfiguration(config);
|
||||
var descriptor = new HttpControllerDescriptor(config, "Simple", typeof(SimpleController));
|
||||
var activator = new DefaultHttpControllerActivator();
|
||||
|
||||
|
@ -41,7 +41,7 @@ namespace System.Web.Http.Dispatcher
|
|||
// Arrange
|
||||
var config = new HttpConfiguration();
|
||||
var request = new HttpRequestMessage();
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
|
||||
request.SetConfiguration(config);
|
||||
var descriptor = new HttpControllerDescriptor(config, "Simple", typeof(SimpleController));
|
||||
var activator = new DefaultHttpControllerActivator();
|
||||
|
||||
|
@ -62,7 +62,7 @@ namespace System.Web.Http.Dispatcher
|
|||
mockScope.Setup(r => r.GetService(typeof(ControllerWithCtorParams))).Returns(controller).Verifiable();
|
||||
var config = new HttpConfiguration();
|
||||
var request = new HttpRequestMessage();
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
|
||||
request.SetConfiguration(config);
|
||||
request.Properties[HttpPropertyKeys.DependencyScope] = mockScope.Object;
|
||||
var descriptor = new HttpControllerDescriptor(config, "Name", typeof(ControllerWithCtorParams));
|
||||
var activator = new DefaultHttpControllerActivator();
|
||||
|
@ -89,7 +89,7 @@ namespace System.Web.Http.Dispatcher
|
|||
}).Verifiable();
|
||||
var config = new HttpConfiguration();
|
||||
var request = new HttpRequestMessage();
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
|
||||
request.SetConfiguration(config);
|
||||
request.Properties[HttpPropertyKeys.DependencyScope] = mockScope.Object;
|
||||
var descriptor = new HttpControllerDescriptor(config, "Name", typeof(ControllerWithCtorParams));
|
||||
var activator = new DefaultHttpControllerActivator();
|
||||
|
@ -113,7 +113,7 @@ namespace System.Web.Http.Dispatcher
|
|||
mockScope.Setup(r => r.GetService(typeof(ControllerWithCtorParams))).Returns(controller).Verifiable();
|
||||
var config = new HttpConfiguration();
|
||||
var request = new HttpRequestMessage();
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
|
||||
request.SetConfiguration(config);
|
||||
request.Properties[HttpPropertyKeys.DependencyScope] = mockScope.Object;
|
||||
var descriptorControllerWithCtorParamsResult = new HttpControllerDescriptor(config, "Name", typeof(ControllerWithCtorParams));
|
||||
var descriptorSimpleController = new HttpControllerDescriptor(config, "Simple", typeof(SimpleController));
|
||||
|
@ -139,7 +139,7 @@ namespace System.Web.Http.Dispatcher
|
|||
mockResolver.Setup(resolver => resolver.BeginScope()).Returns((IDependencyScope)null).Verifiable();
|
||||
config.DependencyResolver = mockResolver.Object;
|
||||
var request = new HttpRequestMessage();
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
|
||||
request.SetConfiguration(config);
|
||||
var descriptorSimpleController = new HttpControllerDescriptor(config, "Simple", typeof(SimpleController));
|
||||
var activator = new DefaultHttpControllerActivator();
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ namespace System.Web.Http.Dispatcher
|
|||
HttpRequestMessage request = new HttpRequestMessage();
|
||||
IHttpRouteData routeData = GetRouteData();
|
||||
routeData.Values[controllerKeyName] = controllerName;
|
||||
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = routeData;
|
||||
request.SetRouteData(routeData);
|
||||
DefaultHttpControllerSelector selector = new DefaultHttpControllerSelector(new HttpConfiguration());
|
||||
|
||||
// Act
|
||||
|
@ -62,7 +62,7 @@ namespace System.Web.Http.Dispatcher
|
|||
{
|
||||
// Arrange
|
||||
HttpRequestMessage request = new HttpRequestMessage();
|
||||
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = GetRouteData();
|
||||
request.SetRouteData(GetRouteData());
|
||||
DefaultHttpControllerSelector selector = new DefaultHttpControllerSelector(new HttpConfiguration());
|
||||
|
||||
// Act
|
||||
|
@ -88,7 +88,7 @@ namespace System.Web.Http.Dispatcher
|
|||
HttpRequestMessage request = new HttpRequestMessage();
|
||||
IHttpRouteData routeData = GetRouteData();
|
||||
routeData.Values["controller"] = "Sample";
|
||||
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = routeData;
|
||||
request.SetRouteData(routeData);
|
||||
|
||||
// Act
|
||||
selector.SelectController(request);
|
||||
|
@ -115,7 +115,7 @@ namespace System.Web.Http.Dispatcher
|
|||
HttpRequestMessage request = new HttpRequestMessage();
|
||||
IHttpRouteData routeData = GetRouteData();
|
||||
routeData.Values["controller"] = controllerTypeName;
|
||||
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = routeData;
|
||||
request.SetRouteData(routeData);
|
||||
|
||||
DefaultHttpControllerSelector selector = new DefaultHttpControllerSelector(configuration);
|
||||
|
||||
|
@ -142,7 +142,7 @@ namespace System.Web.Http.Dispatcher
|
|||
HttpRequestMessage request = new HttpRequestMessage();
|
||||
IHttpRouteData routeData = GetRouteData();
|
||||
routeData.Values["controller"] = "Sample";
|
||||
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = routeData;
|
||||
request.SetRouteData(routeData);
|
||||
|
||||
DefaultHttpControllerSelector selector = new DefaultHttpControllerSelector(configuration);
|
||||
|
||||
|
@ -169,12 +169,12 @@ namespace System.Web.Http.Dispatcher
|
|||
HttpRequestMessage request1 = new HttpRequestMessage();
|
||||
IHttpRouteData routeData1 = GetRouteData();
|
||||
routeData1.Values["controller"] = "Sample";
|
||||
request1.Properties[HttpPropertyKeys.HttpRouteDataKey] = routeData1;
|
||||
request1.SetRouteData(routeData1);
|
||||
|
||||
HttpRequestMessage request2 = new HttpRequestMessage();
|
||||
IHttpRouteData routeData2 = GetRouteData();
|
||||
routeData2.Values["controller"] = "SaMPle";
|
||||
request2.Properties[HttpPropertyKeys.HttpRouteDataKey] = routeData2;
|
||||
request2.SetRouteData(routeData2);
|
||||
|
||||
DefaultHttpControllerSelector selector = new DefaultHttpControllerSelector(configuration);
|
||||
|
||||
|
@ -201,7 +201,7 @@ namespace System.Web.Http.Dispatcher
|
|||
{
|
||||
HttpConfiguration configuration = new HttpConfiguration();
|
||||
HttpRequestMessage request = new HttpRequestMessage();
|
||||
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = GetRouteData();
|
||||
request.SetRouteData(GetRouteData());
|
||||
|
||||
DefaultHttpControllerSelector selector = new DefaultHttpControllerSelector(configuration);
|
||||
|
||||
|
@ -223,7 +223,7 @@ namespace System.Web.Http.Dispatcher
|
|||
var action2Descriptor = new ReflectedHttpActionDescriptor() { ControllerDescriptor = controllerDescriptor };
|
||||
IHttpRouteData routeData = GetRouteData();
|
||||
routeData.Route.DataTokens.Add("actions", new ReflectedHttpActionDescriptor[] { action1Descriptor, action2Descriptor });
|
||||
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = routeData;
|
||||
request.SetRouteData(routeData);
|
||||
|
||||
DefaultHttpControllerSelector selector = new DefaultHttpControllerSelector(configuration);
|
||||
|
||||
|
@ -243,7 +243,7 @@ namespace System.Web.Http.Dispatcher
|
|||
var action2Descriptor = new ReflectedHttpActionDescriptor() { ControllerDescriptor = new HttpControllerDescriptor() };
|
||||
IHttpRouteData routeData = GetRouteData();
|
||||
routeData.Route.DataTokens.Add("actions", new ReflectedHttpActionDescriptor[] { action1Descriptor, action2Descriptor });
|
||||
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = routeData;
|
||||
request.SetRouteData(routeData);
|
||||
|
||||
DefaultHttpControllerSelector selector = new DefaultHttpControllerSelector(configuration);
|
||||
|
||||
|
@ -287,8 +287,8 @@ namespace System.Web.Http.Dispatcher
|
|||
HttpRequestMessage request = new HttpRequestMessage();
|
||||
IHttpRouteData routeData1 = GetRouteData();
|
||||
routeData1.Values["controller"] = "Sample";
|
||||
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = routeData1;
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = configuration;
|
||||
request.SetRouteData(routeData1);
|
||||
request.SetConfiguration(configuration);
|
||||
|
||||
DefaultHttpControllerSelector selector = new DefaultHttpControllerSelector(configuration);
|
||||
|
||||
|
@ -317,8 +317,8 @@ namespace System.Web.Http.Dispatcher
|
|||
HttpRequestMessage request = new HttpRequestMessage();
|
||||
IHttpRouteData routeData1 = GetRouteData();
|
||||
routeData1.Values["controller"] = "Sample";
|
||||
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = routeData1;
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = configuration;
|
||||
request.SetRouteData(routeData1);
|
||||
request.SetConfiguration(configuration);
|
||||
|
||||
DefaultHttpControllerSelector selector = new DefaultHttpControllerSelector(configuration);
|
||||
|
||||
|
|
|
@ -123,8 +123,8 @@ namespace System.Web.Http.Dispatcher
|
|||
{
|
||||
IHttpRoute route = config.Routes.MapHttpRoute("default", "api/{controller}/{id}", new { id = RouteParameter.Optional });
|
||||
var request = new HttpRequestMessage(HttpMethod.Get, requestUri);
|
||||
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = route.GetRouteData("/", request);
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
|
||||
request.SetRouteData(route.GetRouteData("/", request));
|
||||
request.SetConfiguration(config);
|
||||
return request;
|
||||
}
|
||||
|
||||
|
|
|
@ -71,7 +71,7 @@ namespace System.Web.Http.Dispatcher
|
|||
responseTask.WaitUntilCompleted();
|
||||
|
||||
Assert.Equal(HttpStatusCode.NotFound, responseTask.Result.StatusCode);
|
||||
Assert.True((bool)request.Properties["MS_NoRouteMatched"]);
|
||||
Assert.True((bool)request.Properties[HttpPropertyKeys.NoRouteMatched]);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
@ -117,7 +117,7 @@ namespace System.Web.Http.Dispatcher
|
|||
config.Routes.Add("default", route);
|
||||
|
||||
var request = new HttpRequestMessage(HttpMethod.Get, requestUri);
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
|
||||
request.SetConfiguration(config);
|
||||
return request;
|
||||
}
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ namespace System.Net.Http
|
|||
public HttpRequestMessageExtensionsTest()
|
||||
{
|
||||
_disposable = _disposableMock.Object;
|
||||
_request.Properties[HttpPropertyKeys.HttpConfigurationKey] = _config;
|
||||
_request.SetConfiguration(_config);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
@ -330,7 +330,7 @@ namespace System.Net.Http
|
|||
public void CreateResponse_MatchingMediaType_WhenMediaTypeDoesNotMatch_Throws()
|
||||
{
|
||||
// Arrange
|
||||
_request.Properties[HttpPropertyKeys.HttpConfigurationKey] = new HttpConfiguration();
|
||||
_request.SetConfiguration(new HttpConfiguration());
|
||||
|
||||
// Act
|
||||
Assert.Throws<InvalidOperationException>(() => _request.CreateResponse(HttpStatusCode.OK, _value, mediaType: "foo/bar"),
|
||||
|
@ -342,7 +342,7 @@ namespace System.Net.Http
|
|||
{
|
||||
// Arrange
|
||||
var config = new HttpConfiguration();
|
||||
_request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
|
||||
_request.SetConfiguration(config);
|
||||
config.Formatters.Clear();
|
||||
Mock<MediaTypeFormatter> formatterMock = new Mock<MediaTypeFormatter> { CallBase = true };
|
||||
var formatter = formatterMock.Object;
|
||||
|
@ -520,7 +520,7 @@ namespace System.Net.Http
|
|||
public void GetUrlHelper_ReturnsUrlHelper()
|
||||
{
|
||||
HttpRequestMessage request = new HttpRequestMessage();
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = new HttpConfiguration();
|
||||
request.SetConfiguration(new HttpConfiguration());
|
||||
|
||||
UrlHelper urlHelper = request.GetUrlHelper();
|
||||
|
||||
|
@ -532,7 +532,7 @@ namespace System.Net.Http
|
|||
public void GetUrlHelper_Caches_UrlHelperInstance()
|
||||
{
|
||||
HttpRequestMessage request = new HttpRequestMessage();
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = new HttpConfiguration();
|
||||
request.SetConfiguration(new HttpConfiguration());
|
||||
|
||||
UrlHelper urlHelper1 = request.GetUrlHelper();
|
||||
UrlHelper urlHelper2 = request.GetUrlHelper();
|
||||
|
|
|
@ -131,7 +131,7 @@ namespace System.Net.Http.Formatting
|
|||
routeData.Values[UriPathExtensionMapping.UriPathExtensionKey] = extensionValue;
|
||||
|
||||
HttpRequestMessage request = new HttpRequestMessage();
|
||||
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = routeData;
|
||||
request.SetRouteData(routeData);
|
||||
|
||||
return request;
|
||||
}
|
||||
|
|
|
@ -136,8 +136,8 @@ namespace System.Web.Http.Routing
|
|||
// Set up routes
|
||||
var routes = new HttpRouteCollection("/somerootpath");
|
||||
IHttpRoute route = routes.MapHttpRoute("route1", "{controller}/{id}");
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = new HttpConfiguration(routes);
|
||||
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = new HttpRouteData(route, new HttpRouteValueDictionary(new { controller = "people", id = "123" }));
|
||||
request.SetConfiguration(new HttpConfiguration(routes));
|
||||
request.SetRouteData(new HttpRouteData(route, new HttpRouteValueDictionary(new { controller = "people", id = "123" })));
|
||||
|
||||
return new UrlHelper(request);
|
||||
}
|
||||
|
|
|
@ -16,8 +16,8 @@ namespace System.Web.Http
|
|||
HttpConfiguration config = configuration ?? new HttpConfiguration();
|
||||
IHttpRouteData route = routeData ?? new HttpRouteData(new HttpRoute());
|
||||
HttpRequestMessage req = request ?? new HttpRequestMessage();
|
||||
req.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
|
||||
req.Properties[HttpPropertyKeys.HttpRouteDataKey] = route;
|
||||
req.SetConfiguration(config);
|
||||
req.SetRouteData(route);
|
||||
|
||||
HttpControllerContext context = new HttpControllerContext(config, route, req);
|
||||
if (instance != null)
|
||||
|
|
|
@ -341,7 +341,7 @@ namespace System.Web.Http.WebHost
|
|||
Mock<HttpContextBase> contextMock = CreateMockHttpContextBaseForResponse(memoryStream);
|
||||
HttpResponseBase responseBase = contextMock.Object.Response;
|
||||
HttpRequestMessage request = new HttpRequestMessage();
|
||||
request.Properties.Add(HttpPropertyKeys.IsLocalKey, new Lazy<bool>(() => true));
|
||||
request.SetIsLocal(new Lazy<bool>(() => true));
|
||||
HttpResponseMessage response = new HttpResponseMessage() { RequestMessage = request };
|
||||
response.Content = new ObjectContent<string>("hello", formatterMock.Object);
|
||||
|
||||
|
@ -388,7 +388,7 @@ namespace System.Web.Http.WebHost
|
|||
Mock<HttpContextBase> contextMock = CreateMockHttpContextBaseForResponse(memoryStream);
|
||||
HttpResponseBase responseBase = contextMock.Object.Response;
|
||||
HttpRequestMessage request = new HttpRequestMessage();
|
||||
request.Properties.Add(HttpPropertyKeys.IsLocalKey, new Lazy<bool>(() => true));
|
||||
request.SetIsLocal(new Lazy<bool>(() => true));
|
||||
HttpResponseMessage response = new HttpResponseMessage() { RequestMessage = request };
|
||||
response.Content = new ObjectContent<string>("hello", formatterMock.Object);
|
||||
|
||||
|
@ -438,7 +438,7 @@ namespace System.Web.Http.WebHost
|
|||
Mock<HttpContextBase> contextMock = CreateMockHttpContextBaseForResponse(memoryStream);
|
||||
HttpResponseBase responseBase = contextMock.Object.Response;
|
||||
HttpRequestMessage request = new HttpRequestMessage();
|
||||
request.Properties.Add(HttpPropertyKeys.IsLocalKey, new Lazy<bool>(() => true));
|
||||
request.SetIsLocal(new Lazy<bool>(() => true));
|
||||
HttpResponseMessage response = new HttpResponseMessage() { RequestMessage = request };
|
||||
response.Content = new ObjectContent<string>("hello", formatterMock.Object);
|
||||
|
||||
|
@ -473,7 +473,7 @@ namespace System.Web.Http.WebHost
|
|||
Mock<HttpContextBase> contextMock = CreateMockHttpContextBaseForResponse(memoryStream);
|
||||
HttpResponseBase responseBase = contextMock.Object.Response;
|
||||
HttpRequestMessage request = new HttpRequestMessage();
|
||||
request.Properties.Add(HttpPropertyKeys.IsLocalKey, new Lazy<bool>(() => true));
|
||||
request.SetIsLocal(new Lazy<bool>(() => true));
|
||||
HttpResponseMessage response = new HttpResponseMessage() { RequestMessage = request };
|
||||
response.Content = new ObjectContent<string>("hello", formatterMock.Object);
|
||||
|
||||
|
@ -522,8 +522,8 @@ namespace System.Web.Http.WebHost
|
|||
Mock<HttpContextBase> contextMock = CreateMockHttpContextBaseForResponse(memoryStream);
|
||||
HttpResponseBase responseBase = contextMock.Object.Response;
|
||||
HttpRequestMessage request = new HttpRequestMessage();
|
||||
request.Properties.Add(HttpPropertyKeys.IsLocalKey, new Lazy<bool>(() => true));
|
||||
request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, config);
|
||||
request.SetIsLocal(new Lazy<bool>(() => true));
|
||||
request.SetConfiguration(config);
|
||||
HttpResponseMessage response = new HttpResponseMessage() { RequestMessage = request };
|
||||
response.Content = new ObjectContent<string>("hello", formatterMock.Object);
|
||||
|
||||
|
@ -560,8 +560,8 @@ namespace System.Web.Http.WebHost
|
|||
Mock<HttpContextBase> contextMock = CreateMockHttpContextBaseForResponse(memoryStream);
|
||||
HttpResponseBase responseBase = contextMock.Object.Response;
|
||||
HttpRequestMessage request = new HttpRequestMessage();
|
||||
request.Properties.Add(HttpPropertyKeys.IsLocalKey, new Lazy<bool>(() => true));
|
||||
request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, config);
|
||||
request.SetIsLocal(new Lazy<bool>(() => true));
|
||||
request.SetConfiguration(config);
|
||||
HttpResponseMessage response = new HttpResponseMessage() { RequestMessage = request };
|
||||
response.Content = new ObjectContent<string>("hello", formatterMock.Object);
|
||||
|
||||
|
@ -610,8 +610,8 @@ namespace System.Web.Http.WebHost
|
|||
Mock<HttpContextBase> contextMock = CreateMockHttpContextBaseForResponse(memoryStream);
|
||||
HttpResponseBase responseBase = contextMock.Object.Response;
|
||||
HttpRequestMessage request = new HttpRequestMessage();
|
||||
request.Properties.Add(HttpPropertyKeys.IsLocalKey, new Lazy<bool>(() => true));
|
||||
request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, config);
|
||||
request.SetIsLocal(new Lazy<bool>(() => true));
|
||||
request.SetConfiguration(config);
|
||||
HttpResponseMessage response = new HttpResponseMessage() { RequestMessage = request };
|
||||
response.Content = new ObjectContent<string>("hello", formatterMock.Object);
|
||||
|
||||
|
@ -649,8 +649,8 @@ namespace System.Web.Http.WebHost
|
|||
Mock<HttpContextBase> contextMock = CreateMockHttpContextBaseForResponse(memoryStream);
|
||||
HttpResponseBase responseBase = contextMock.Object.Response;
|
||||
HttpRequestMessage request = new HttpRequestMessage();
|
||||
request.Properties.Add(HttpPropertyKeys.IsLocalKey, new Lazy<bool>(() => true));
|
||||
request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, config);
|
||||
request.SetIsLocal(new Lazy<bool>(() => true));
|
||||
request.SetConfiguration(config);
|
||||
HttpResponseMessage response = new HttpResponseMessage() { RequestMessage = request };
|
||||
response.Content = new ObjectContent<string>("hello", formatterMock.Object);
|
||||
|
||||
|
@ -705,7 +705,7 @@ namespace System.Web.Http.WebHost
|
|||
HttpContextBase contextBase = CreateStubContext(requestBase, responseBase);
|
||||
|
||||
HttpRequestMessage request = new HttpRequestMessage();
|
||||
request.Properties.Add(HttpPropertyKeys.IsLocalKey, new Lazy<bool>(() => true));
|
||||
request.SetIsLocal(new Lazy<bool>(() => true));
|
||||
HttpResponseMessage response = new HttpResponseMessage() { RequestMessage = request };
|
||||
response.Content = new ObjectContent<string>("hello", formatterMock.Object);
|
||||
|
||||
|
@ -740,7 +740,7 @@ namespace System.Web.Http.WebHost
|
|||
HttpContextBase contextBase = CreateStubContext(requestBase, responseBase);
|
||||
|
||||
HttpRequestMessage request = new HttpRequestMessage();
|
||||
request.Properties.Add(HttpPropertyKeys.IsLocalKey, new Lazy<bool>(() => true));
|
||||
request.SetIsLocal(new Lazy<bool>(() => true));
|
||||
HttpResponseMessage response = new HttpResponseMessage() { RequestMessage = request };
|
||||
response.Content = new ObjectContent<string>("hello", formatterMock.Object);
|
||||
|
||||
|
|
|
@ -7,14 +7,14 @@ namespace System.Web.Http
|
|||
{
|
||||
internal static class HttpRequestMessageExtensions
|
||||
{
|
||||
public static void SetConfiguration(this HttpRequestMessage request, HttpConfiguration configuration)
|
||||
public static void SetIsLocal(this HttpRequestMessage request, Lazy<bool> isLocal)
|
||||
{
|
||||
if (request == null)
|
||||
{
|
||||
throw new ArgumentNullException("request");
|
||||
}
|
||||
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = configuration;
|
||||
request.Properties[HttpPropertyKeys.IsLocalKey] = isLocal;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -165,9 +165,9 @@ namespace System.Web.Http.WebHost.Routing
|
|||
var mockHandler = new Mock<HttpMessageHandler>();
|
||||
var config = new HttpConfiguration();
|
||||
var request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/api/controllerName");
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
|
||||
request.SetConfiguration(config);
|
||||
HttpDomainRoute domainRoute = new HttpDomainRoute("test", new { controller = "Values", action = "GetTenant" });
|
||||
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = new HostedHttpRouteData(domainRoute.GetRouteData(null));
|
||||
request.SetRouteData(new HostedHttpRouteData(domainRoute.GetRouteData(null)));
|
||||
var dispatcher = new HttpRoutingDispatcher(config, defaultHandler: mockHandler.Object);
|
||||
var invoker = new HttpMessageInvoker(dispatcher);
|
||||
|
||||
|
@ -192,8 +192,8 @@ namespace System.Web.Http.WebHost.Routing
|
|||
var config = new HttpConfiguration(_webApiRoutes);
|
||||
IHttpRoute route = _webApiRoutes.CreateRoute("api", null, null);
|
||||
_webApiRoutes.Add("default", route);
|
||||
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = _webApiRoutes.GetRouteData(request);
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
|
||||
request.SetRouteData(_webApiRoutes.GetRouteData(request));
|
||||
request.SetConfiguration(config);
|
||||
|
||||
IHttpVirtualPathData result = _webApiRoutes.GetVirtualPath(request, null, new HttpRouteValueDictionary { { "httproute", true } });
|
||||
|
||||
|
@ -274,7 +274,7 @@ namespace System.Web.Http.WebHost.Routing
|
|||
{"httproute", true}
|
||||
};
|
||||
|
||||
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = new HttpRouteData(route, routeValues);
|
||||
request.SetRouteData(new HttpRouteData(route, routeValues));
|
||||
|
||||
// Act
|
||||
IHttpVirtualPathData httpvPathData = collection.GetVirtualPath(request, "domainRoute", routeValues);
|
||||
|
|
|
@ -144,7 +144,7 @@ namespace System.Web.Http.WebHost.Routing
|
|||
Route apiRoute1 = routes.MapHttpRoute("apiroute1", "api/{controller}/{id}", new { action = "someaction" });
|
||||
Route apiRoute2 = routes.MapHttpRoute("apiroute2", "api/{controller}/{action}", new { id = 789 });
|
||||
Route webRoute1 = routes.MapRoute("webroute1", "{controller}/{action}/{id}");
|
||||
request.Properties[HttpPropertyKeys.HttpConfigurationKey] = new HttpConfiguration(hostedRoutes);
|
||||
request.SetConfiguration(new HttpConfiguration(hostedRoutes));
|
||||
|
||||
RouteData routeData = new RouteData();
|
||||
routeData.Values.Add("controller", "people");
|
||||
|
@ -166,7 +166,7 @@ namespace System.Web.Http.WebHost.Routing
|
|||
default:
|
||||
throw new ArgumentException("Invalid route specified.", "whichRoute");
|
||||
}
|
||||
request.Properties[HttpPropertyKeys.HttpRouteDataKey] = new HostedHttpRouteData(routeData);
|
||||
request.SetRouteData(new HostedHttpRouteData(routeData));
|
||||
|
||||
requestContext = new RequestContext(mockHttpContext.Object, routeData);
|
||||
|
||||
|
|
|
@ -258,7 +258,7 @@ namespace System.Web.Http.WebHost.Routing
|
|||
{
|
||||
// Arrange
|
||||
HttpRequestMessage request = new HttpRequestMessage();
|
||||
request.Properties.Add(HttpPropertyKeys.IsLocalKey, new Lazy<bool>(() => true));
|
||||
request.SetIsLocal(new Lazy<bool>(() => true));
|
||||
HttpRequestMessageWrapper wrapper = new HttpRequestMessageWrapper("/", request);
|
||||
|
||||
// Act
|
||||
|
|
|
@ -39,6 +39,7 @@
|
|||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="GlobalConfigurationTest.cs" />
|
||||
<Compile Include="HttpRequestMessageExtensions.cs" />
|
||||
<Compile Include="Routing\HttpContextBaseExtensionsTest.cs" />
|
||||
<Compile Include="Routing\HttpRequestMessageWrapperTest.cs" />
|
||||
<Compile Include="Routing\HostedHttpRouteCollectionTest.cs" />
|
||||
|
|
Загрузка…
Ссылка в новой задаче