public IHttpRouteData GetRouteData(string rootVirtualPath, HttpRequestMessage request) { if (rootVirtualPath == null) { throw Error.ArgumentNull("rootVirtualPath"); } if (request == null) { throw Error.ArgumentNull("request"); } HttpContextBase httpContextBase = request.GetHttpContext(); if (httpContextBase == null) { httpContextBase = new HttpRequestMessageContextWrapper(rootVirtualPath, request); } RouteData routeData = OriginalRoute.GetRouteData(httpContextBase); if (routeData != null) { return(new HostedHttpRouteData(routeData)); } return(null); }
public IHttpRouteData GetRouteData(string rootVirtualPath, HttpRequestMessage request) { if (rootVirtualPath == null) { throw Error.ArgumentNull("rootVirtualPath"); } if (request == null) { throw Error.ArgumentNull("request"); } HttpContextBase httpContextBase; if (!request.Properties.TryGetValue(HttpControllerHandler.HttpContextBaseKey, out httpContextBase)) { httpContextBase = new HttpRequestMessageContextWrapper(rootVirtualPath, request); } RouteData routeData = OriginalRoute.GetRouteData(httpContextBase); if (routeData != null) { return(new HostedHttpRouteData(routeData)); } return(null); }
/// <inheritdoc/> public override IHttpRouteData GetRouteData(HttpRequestMessage request) { if (request == null) { throw Error.ArgumentNull("request"); } HttpContextBase httpContextBase; if (!request.Properties.TryGetValue(HttpControllerHandler.HttpContextBaseKey, out httpContextBase)) { httpContextBase = new HttpRequestMessageContextWrapper(VirtualPathRoot, request); } if (httpContextBase.GetHttpRequestMessage() == null) { httpContextBase.SetHttpRequestMessage(request); } RouteData routeData = _routeCollection.GetRouteData(httpContextBase); if (routeData != null) { return new HostedHttpRouteData(routeData); } return null; }
/// <inheritdoc/> public override IHttpRouteData GetRouteData(HttpRequestMessage request) { if (request == null) { throw Error.ArgumentNull("request"); } HttpContextBase httpContextBase = request.GetHttpContext(); if (httpContextBase == null) { httpContextBase = new HttpRequestMessageContextWrapper(VirtualPathRoot, request); } if (httpContextBase.GetHttpRequestMessage() == null) { httpContextBase.SetHttpRequestMessage(request); } RouteData routeData = _routeCollection.GetRouteData(httpContextBase); // If the match is from an IgnoreRoute, do not return a RouteData but return a null, which will be treated as a 404 NoRouteMatched. if (routeData != null && !(routeData.RouteHandler is System.Web.Routing.StopRoutingHandler)) { return(new HostedHttpRouteData(routeData)); } return(null); }
/// <inheritdoc/> public override IHttpRouteData GetRouteData(HttpRequestMessage request) { if (request == null) { throw Error.ArgumentNull("request"); } HttpContextBase httpContextBase = request.GetHttpContext(); if (httpContextBase == null) { httpContextBase = new HttpRequestMessageContextWrapper(VirtualPathRoot, request); } if (httpContextBase.GetHttpRequestMessage() == null) { httpContextBase.SetHttpRequestMessage(request); } RouteData routeData = _routeCollection.GetRouteData(httpContextBase); // If the match is from an IgnoreRoute, do not return a RouteData but return a null, which will be treated as a 404 NoRouteMatched. if (routeData != null && !(routeData.RouteHandler is System.Web.Routing.StopRoutingHandler)) { return new HostedHttpRouteData(routeData); } return null; }
public IHttpRouteData GetRouteData(string rootVirtualPath, HttpRequestMessage request) { if (rootVirtualPath == null) { throw Error.ArgumentNull("rootVirtualPath"); } if (request == null) { throw Error.ArgumentNull("request"); } HttpContextBase httpContextBase; if (!request.Properties.TryGetValue(HttpControllerHandler.HttpContextBaseKey, out httpContextBase)) { httpContextBase = new HttpRequestMessageContextWrapper(rootVirtualPath, request); } RouteData routeData = OriginalRoute.GetRouteData(httpContextBase); if (routeData != null) { return new HostedHttpRouteData(routeData); } return null; }
public IHttpRouteData GetRouteData(string rootVirtualPath, HttpRequestMessage request) { if (rootVirtualPath == null) { throw Error.ArgumentNull("rootVirtualPath"); } if (request == null) { throw Error.ArgumentNull("request"); } HttpContextBase httpContextBase = request.GetHttpContext(); if (httpContextBase == null) { httpContextBase = new HttpRequestMessageContextWrapper(rootVirtualPath, request); } RouteData routeData = OriginalRoute.GetRouteData(httpContextBase); if (routeData != null) { return new HostedHttpRouteData(routeData); } return null; }
/// <inheritdoc/> public override IHttpRouteData GetRouteData(HttpRequestMessage request) { if (request == null) { throw Error.ArgumentNull("request"); } HttpContextBase httpContextBase; if (!request.Properties.TryGetValue(HttpControllerHandler.HttpContextBaseKey, out httpContextBase)) { httpContextBase = new HttpRequestMessageContextWrapper(VirtualPathRoot, request); } if (httpContextBase.GetHttpRequestMessage() == null) { httpContextBase.SetHttpRequestMessage(request); } RouteData routeData = _routeCollection.GetRouteData(httpContextBase); if (routeData != null) { return(new HostedHttpRouteData(routeData)); } return(null); }
/// <inheritdoc/> public override IHttpRouteData GetRouteData(HttpRequestMessage request) { if (request == null) { throw Error.ArgumentNull("request"); } HttpContextBase httpContextBase = request.GetHttpContext(); if (httpContextBase == null) { httpContextBase = new HttpRequestMessageContextWrapper(VirtualPathRoot, request); } if (httpContextBase.GetHttpRequestMessage() == null) { httpContextBase.SetHttpRequestMessage(request); } RouteData routeData = _routeCollection.GetRouteData(httpContextBase); if (routeData != null) { return(new HostedHttpRouteData(routeData)); } return(null); }
/// <inheritdoc/> public override IHttpRouteData GetRouteData(HttpRequestMessage request) { if (request == null) { throw Error.ArgumentNull("request"); } HttpContextBase httpContextBase = request.GetHttpContext(); if (httpContextBase == null) { httpContextBase = new HttpRequestMessageContextWrapper(VirtualPathRoot, request); } if (httpContextBase.GetHttpRequestMessage() == null) { httpContextBase.SetHttpRequestMessage(request); } RouteData routeData = _routeCollection.GetRouteData(httpContextBase); if (routeData != null) { return new HostedHttpRouteData(routeData); } return null; }
/// <inheritdoc/> public override IHttpVirtualPathData GetVirtualPath(HttpRequestMessage request, string name, IDictionary <string, object> values) { if (request == null) { throw Error.ArgumentNull("request"); } HttpContextBase httpContextBase = request.GetHttpContext(); if (httpContextBase == null) { httpContextBase = new HttpRequestMessageContextWrapper(VirtualPathRoot, request); } if (httpContextBase.GetHttpRequestMessage() == null) { httpContextBase.SetHttpRequestMessage(request); } IHttpRouteData routeData = request.GetRouteData(); if (routeData == null) { return(null); } RequestContext requestContext = new RequestContext(httpContextBase, routeData.ToRouteData()); RouteValueDictionary routeValues = values != null ? new RouteValueDictionary(values) : new RouteValueDictionary(); VirtualPathData virtualPathData = _routeCollection.GetVirtualPath(requestContext, name, routeValues); if (virtualPathData != null) { // If the route is not an HttpWebRoute, try getting a virtual path without the httproute key in the route value dictionary // This ensures that httproute isn't picked up by non-WebAPI routes that might pollute the virtual path with httproute if (!(virtualPathData.Route is HttpWebRoute)) { if (routeValues.Remove(HttpWebRoute.HttpRouteKey)) { VirtualPathData virtualPathDataWithoutHttpRouteValue = _routeCollection.GetVirtualPath(requestContext, name, routeValues); if (virtualPathDataWithoutHttpRouteValue != null) { virtualPathData = virtualPathDataWithoutHttpRouteValue; } } } return(new HostedHttpVirtualPathData(virtualPathData, routeData.Route)); } return(null); }
/// <inheritdoc/> public override IHttpVirtualPathData GetVirtualPath(HttpRequestMessage request, string name, IDictionary<string, object> values) { if (request == null) { throw Error.ArgumentNull("request"); } HttpContextBase httpContextBase; if (!request.Properties.TryGetValue(HttpControllerHandler.HttpContextBaseKey, out httpContextBase)) { httpContextBase = new HttpRequestMessageContextWrapper(VirtualPathRoot, request); } if (httpContextBase.GetHttpRequestMessage() == null) { httpContextBase.SetHttpRequestMessage(request); } IHttpRouteData routeData = request.GetRouteData(); if (routeData == null) { return null; } RequestContext requestContext = new RequestContext(httpContextBase, routeData.ToRouteData()); RouteValueDictionary routeValues = values != null ? new RouteValueDictionary(values) : new RouteValueDictionary(); VirtualPathData virtualPathData = _routeCollection.GetVirtualPath(requestContext, name, routeValues); if (virtualPathData != null) { // If the route is not an HttpWebRoute, try getting a virtual path without the httproute key in the route value dictionary // This ensures that httproute isn't picked up by non-WebAPI routes that might pollute the virtual path with httproute if (!(virtualPathData.Route is HttpWebRoute)) { if (routeValues.Remove(HttpWebRoute.HttpRouteKey)) { VirtualPathData virtualPathDataWithoutHttpRouteValue = _routeCollection.GetVirtualPath(requestContext, name, routeValues); if (virtualPathDataWithoutHttpRouteValue != null) { virtualPathData = virtualPathDataWithoutHttpRouteValue; } } } return new HostedHttpVirtualPathData(virtualPathData, routeData.Route); } return null; }
/// <inheritdoc/> public override IHttpVirtualPathData GetVirtualPath(HttpControllerContext controllerContext, string name, IDictionary<string, object> values) { if (controllerContext == null) { throw Error.ArgumentNull("controllerContext"); } HttpRequestMessage request = controllerContext.Request; HttpContextBase httpContextBase; if (!request.Properties.TryGetValue(HttpControllerHandler.HttpContextBaseKey, out httpContextBase)) { httpContextBase = new HttpRequestMessageContextWrapper(VirtualPathRoot, request); } RequestContext requestContext = new RequestContext(httpContextBase, controllerContext.RouteData.ToRouteData()); RouteValueDictionary routeValues = values != null ? new RouteValueDictionary(values) : new RouteValueDictionary(); VirtualPathData virtualPathData = _routeCollection.GetVirtualPath(requestContext, name, routeValues); if (virtualPathData != null) { return new HostedHttpVirtualPathData(virtualPathData, controllerContext.RouteData.Route); } return null; }