Search Results for

    Show / Hide Table of Contents
    View Source

    Class DomainUtilities

    Provides utilities to handle domains.

    Inheritance
    System.Object
    Namespace: Umbraco.Cms.Core.Routing
    Assembly: Umbraco.Core.dll
    Syntax
    public static class DomainUtilities

    Methods

    View Source

    FindWildcardDomainInPath(Nullable<IEnumerable<Domain>>, String, Nullable<Int32>)

    Gets the deepest wildcard Domain, if any, from a group of Domains, in a node path.

    Declaration
    public static Domain FindWildcardDomainInPath(IEnumerable<Domain>? domains, string path, int? rootNodeId)
    Parameters
    Type Name Description
    System.Nullable<IEnumerable<Domain>> domains

    The domains.

    System.String path

    The node path eg '-1,1234,5678'.

    System.Nullable<System.Int32> rootNodeId

    The current domain root node identifier, or null.

    Returns
    Type Description
    Domain

    The deepest wildcard Domain in the path, or null.

    Remarks

    Looks under rootNodeId but not at rootNodeId.

    View Source

    GetCultureFromDomains(Int32, String, Nullable<Uri>, IUmbracoContext, ISiteDomainMapper)

    Gets the culture assigned to a document by domains, in the context of a current Uri.

    Declaration
    public static string GetCultureFromDomains(int contentId, string contentPath, Uri? current, IUmbracoContext umbracoContext, ISiteDomainMapper siteDomainMapper)
    Parameters
    Type Name Description
    System.Int32 contentId

    The document identifier.

    System.String contentPath

    The document path.

    System.Nullable<Uri> current

    An optional current Uri.

    IUmbracoContext umbracoContext

    An Umbraco context.

    ISiteDomainMapper siteDomainMapper

    The site domain helper.

    Returns
    Type Description
    System.String

    The culture assigned to the document by domains.

    Remarks

    In 1:1 multilingual setup, a document contains several cultures (there is not one document per culture), and domains, withing the context of a current Uri, assign a culture to that document.

    View Source

    ParseUriFromDomainName(String, Uri)

    Parses a domain name into a URI.

    Declaration
    public static Uri ParseUriFromDomainName(string domainName, Uri currentUri)
    Parameters
    Type Name Description
    System.String domainName

    The domain name to parse

    Uri currentUri

    The currently requested URI. If the domain name is relative, the authority of URI will be used.

    Returns
    Type Description
    Uri

    The domain name as a URI

    View Source

    PathRelativeToDomain(Uri, String)

    Returns the part of a path relative to the uri of a domain.

    Declaration
    public static string PathRelativeToDomain(Uri domainUri, string path)
    Parameters
    Type Name Description
    Uri domainUri

    The normalized uri of the domain.

    System.String path

    The full path of the uri.

    Returns
    Type Description
    System.String

    The path part relative to the uri of the domain.

    Remarks

    Eg the relative part of /foo/bar/nil to domain example.com/foo is /bar/nil.

    View Source

    SelectDomain(Nullable<IEnumerable<Domain>>, Uri, String, String, Nullable<Func<IReadOnlyCollection<DomainAndUri>, Uri, String, String, DomainAndUri>>)

    Selects the domain that best matches a specified uri and cultures, from a set of domains.

    Declaration
    public static DomainAndUri SelectDomain(IEnumerable<Domain>? domains, Uri uri, string culture = null, string defaultCulture = null, Func<IReadOnlyCollection<DomainAndUri>, Uri, string, string, DomainAndUri>? filter = null)
    Parameters
    Type Name Description
    System.Nullable<IEnumerable<Domain>> domains

    The group of domains.

    Uri uri

    An optional uri.

    System.String culture

    An optional culture.

    System.String defaultCulture

    An optional default culture.

    System.Nullable<Func<IReadOnlyCollection<DomainAndUri>, Uri, System.String, System.String, DomainAndUri>> filter

    An optional function to filter the list of domains, if more than one applies.

    Returns
    Type Description
    DomainAndUri

    The domain and its normalized uri, that best matches the specified uri and cultures.

    Remarks

    TODO: must document and explain this all

    If uri is null, pick the first domain that matches culture, else the first that matches defaultCulture, else the first one (ordered by id), else null.

    If uri is not null, look for domains that would be a base uri of the current uri,

    If more than one domain matches, then the filter function is used to pick the right one, unless it is null, in which case the method returns null.

    The filter, if any, will be called only with a non-empty argument, and must return something.

    • Improve this Doc
    • View Source
    In This Article
    • Methods
      • FindWildcardDomainInPath(Nullable<IEnumerable<Domain>>, String, Nullable<Int32>)
      • GetCultureFromDomains(Int32, String, Nullable<Uri>, IUmbracoContext, ISiteDomainMapper)
      • ParseUriFromDomainName(String, Uri)
      • PathRelativeToDomain(Uri, String)
      • SelectDomain(Nullable<IEnumerable<Domain>>, Uri, String, String, Nullable<Func<IReadOnlyCollection<DomainAndUri>, Uri, String, String, DomainAndUri>>)
    Back to top Copyright © 2016-present Umbraco
    Generated by DocFX