public static string?GetPathByName( this LinkGenerator generator, string endpointName, object?values, PathString pathBase = default, FragmentString fragment = default, LinkOptions?options = default) { if (generator == null) { throw new ArgumentNullException(nameof(generator)); } if (endpointName == null) { throw new ArgumentNullException(nameof(endpointName)); } return(generator.GetPathByAddress <string>(endpointName, new RouteValueDictionary(values), pathBase, fragment, options)); }
public override string?GetPathByAddress <TAddress>( TAddress address, RouteValueDictionary values, PathString pathBase = default, FragmentString fragment = default, LinkOptions?options = null) { var endpoints = GetEndpoints(address); if (endpoints.Count == 0) { return(null); } return(GetPathByEndpoints( httpContext: null, endpoints, values, ambientValues: null, pathBase: pathBase, fragment: fragment, options: options)); }
public static string?GetPathByPage( this LinkGenerator generator, string page, string?handler = default, object?values = default, PathString pathBase = default, FragmentString fragment = default, LinkOptions?options = default) { if (generator == null) { throw new ArgumentNullException(nameof(generator)); } if (page == null) { throw new ArgumentNullException(nameof(page)); } var address = CreateAddress(httpContext: null, page, handler, values); return(generator.GetPathByAddress(address, address.ExplicitValues, pathBase, fragment, options)); }
public static string?GetUriByName( this LinkGenerator generator, HttpContext httpContext, string endpointName, object?values, string?scheme = default, HostString?host = default, PathString?pathBase = default, FragmentString fragment = default, LinkOptions?options = default) { if (generator == null) { throw new ArgumentNullException(nameof(generator)); } if (httpContext == null) { throw new ArgumentNullException(nameof(httpContext)); } if (endpointName == null) { throw new ArgumentNullException(nameof(endpointName)); } return(generator.GetUriByAddress <string>( httpContext, endpointName, new RouteValueDictionary(values), ambientValues: null, scheme, host, pathBase, fragment, options)); }
public string?GetUriByEndpoints( List <RouteEndpoint> endpoints, RouteValueDictionary values, RouteValueDictionary?ambientValues, string scheme, HostString host, PathString pathBase, FragmentString fragment, LinkOptions?options) { for (var i = 0; i < endpoints.Count; i++) { var endpoint = endpoints[i]; if (TryProcessTemplate( httpContext: null, endpoint: endpoint, values: values, ambientValues: ambientValues, options: options, result: out var result)) { var uri = UriHelper.BuildAbsolute( scheme, host, pathBase, result.path, result.query, fragment); Log.LinkGenerationSucceeded(_logger, endpoints, uri); return(uri); } } Log.LinkGenerationFailed(_logger, endpoints); return(null); }
public override string?GetUriByAddress <TAddress>( TAddress address, RouteValueDictionary values, string?scheme, HostString host, PathString pathBase = default, FragmentString fragment = default, LinkOptions?options = null) { if (string.IsNullOrEmpty(scheme)) { throw new ArgumentException("A scheme must be provided.", nameof(scheme)); } if (!host.HasValue) { throw new ArgumentException("A host must be provided.", nameof(host)); } var endpoints = GetEndpoints(address); if (endpoints.Count == 0) { return(null); } return(GetUriByEndpoints( endpoints, values, ambientValues: null, scheme: scheme, host: host, pathBase: pathBase, fragment: fragment, options: options)); }
public abstract string?GetPathByAddress <TAddress>( TAddress address, RouteValueDictionary values, PathString pathBase = default, FragmentString fragment = default, LinkOptions?options = default);
/// <inheritdoc /> public override string GetUriByAddress <TAddress>(TAddress address, RouteValueDictionary values, string scheme, HostString host, PathString pathBase = default, FragmentString fragment = default, LinkOptions?options = null) => inner.GetUriByAddress(address, values, scheme, host, pathBase, fragment, options);
/// <inheritdoc /> public override string GetUriByAddress <TAddress>(HttpContext httpContext, TAddress address, RouteValueDictionary values, RouteValueDictionary?ambientValues = null, string?scheme = null, HostString?host = null, PathString?pathBase = null, FragmentString fragment = default, LinkOptions?options = null) => inner.GetUriByAddress(httpContext, address, values, ambientValues, scheme, host, pathBase, fragment, options);