public override IHttpVirtualPathData GetVirtualPath(HttpRequestMessage request, IDictionary <string, object> values) { // Add querystring default values if applicable. _visitor.AddQueryStringDefaultsToRouteValues(values); // Let the underlying route do its thing. var virtualPathData = base.GetVirtualPath(request, values); if (virtualPathData == null) { return(null); } // Translate this path if a translation is available. var translatedVirtualPath = _visitor.GetTranslatedVirtualPath(t => ((HttpRoute)t).GetVirtualPath(request, values)); if (translatedVirtualPath != null) { virtualPathData = translatedVirtualPath; } // Lowercase, append trailing slash, etc. var virtualPath = _visitor.GetFinalVirtualPath(virtualPathData.VirtualPath); return(new HttpVirtualPathData(virtualPathData.Route, virtualPath)); }
public override VirtualPathData GetVirtualPath(RequestContext requestContext, RouteValueDictionary values) { // Add querystring default values if applicable. _visitor.AddQueryStringDefaultsToRouteValues(values); // Let the underlying route do its thing. var virtualPathData = base.GetVirtualPath(requestContext, values); if (virtualPathData == null) { return(null); } // Translate this path if a translation is available. var translatedVirtualPath = _visitor.GetTranslatedVirtualPath(t => ((Route)t).GetVirtualPath(requestContext, values)); if (translatedVirtualPath != null) { virtualPathData = translatedVirtualPath; } // Lowercase, append trailing slash, etc. virtualPathData.VirtualPath = _visitor.GetFinalVirtualPath(virtualPathData.VirtualPath); return(virtualPathData); }