Class HierarchicalUrlHandler
Unsupported INTERNAL API! Not covered by semantic versioning; might change without notice. An implementation of a URL handler that supports hierarchical URL:s (a k a Friendly URL:s)
Implements
Inherited Members
Namespace: EPiServer.Web.Internal
Assembly: EPiServer.dll
Version: 10.10.4Syntax
public class HierarchicalUrlHandler : CachedUrlHandler, IHandleUrlForRewrite
Constructors
HierarchicalUrlHandler(UrlBuilder, ContentReference)
Unsupported INTERNAL API! Not covered by semantic versioning; might change without notice. Initializes a new instance of the HierarchicalUrlHandler class.
Declaration
public HierarchicalUrlHandler(UrlBuilder url, ContentReference cachedInternalObject)
Parameters
| Type | Name | Description |
|---|---|---|
| UrlBuilder | url | The URL. |
| ContentReference | cachedInternalObject | The cached internal object. |
HierarchicalUrlHandler(String)
Unsupported INTERNAL API! Not covered by semantic versioning; might change without notice. Initializes a new instance of the HierarchicalUrlHandler class.
Declaration
public HierarchicalUrlHandler(string friendlyUrlExtension)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | friendlyUrlExtension | The friendly URL extension. |
HierarchicalUrlHandler(Uri, ContentReference)
Unsupported INTERNAL API! Not covered by semantic versioning; might change without notice. Initializes a new instance of the HierarchicalUrlHandler class for handling cached requests
Declaration
public HierarchicalUrlHandler(Uri cachedUri, ContentReference cachedInternalObject)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Uri | cachedUri | The resolved URL |
| ContentReference | cachedInternalObject | The data returned in internalObject, which is a page reference in this case. |
Properties
FriendlyUrlExtension
Unsupported INTERNAL API! Not covered by semantic versioning; might change without notice. Gets the friendly URL extension.
Declaration
public string FriendlyUrlExtension { get; }
Property Value
| Type | Description |
|---|---|
| System.String | The friendly URL extension. |
UrlRewritten
Unsupported INTERNAL API! Not covered by semantic versioning; might change without notice. Gets a value indicating whether the URL was rewritten as a result of the TryHandleUrl method.
Declaration
public bool UrlRewritten { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
|
Methods
GetFromStartByPath(String, String, IContentRepository)
Unsupported INTERNAL API! Not covered by semantic versioning; might change without notice. Get a page based on URL as defined by the PageData.URLSegment. Try begin with both start page and root page.
Declaration
protected static IContent GetFromStartByPath(string path, string languageId, IContentRepository contentRepository)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | path | The friendly URL path to find a page for |
| System.String | languageId | The language we prefer |
| IContentRepository | contentRepository | The page repository. |
Returns
| Type | Description |
|---|---|
| IContent | A PageData object that was found based on the URL, or NULL if not found |
Remarks
A language branch prefix will always be scanned and if found used as a language selector for the returned page
GetReferenceBySegments(ContentReference, String[])
Unsupported INTERNAL API! Not covered by semantic versioning; might change without notice. Gets the content by segments.
Declaration
protected static ContentReference GetReferenceBySegments(ContentReference rootPageRef, string[] segments)
Parameters
| Type | Name | Description |
|---|---|---|
| ContentReference | rootPageRef | The root page ref. |
| System.String[] | segments | The segments. |
Returns
| Type | Description |
|---|---|
| ContentReference | The content as found by following the path of the segments |
RewriteFromCachedData(UrlRewriteContext, ref Object)
Unsupported INTERNAL API! Not covered by semantic versioning; might change without notice. Rewrites the URL from cached data.
Declaration
public override bool RewriteFromCachedData(UrlRewriteContext context, ref object internalObject)
Parameters
| Type | Name | Description |
|---|---|---|
| UrlRewriteContext | context | The context. |
| System.Object | internalObject | The internal object. |
Returns
| Type | Description |
|---|---|
| System.Boolean | True if the URL was rewritten, false otherwise. |
Overrides
Remarks
You may optionally return an internal representation of the page in internalObject. This will usually be a PageReference, but you should always check the type and not assume that it is a PageReference since internalObject may contain anything depending on the actual CachedUrlHandler implementation.
RewriteHierarchicalUrl(UrlRewriteContext)
Unsupported INTERNAL API! Not covered by semantic versioning; might change without notice. Rewrites the hierarchical URL.
Declaration
protected void RewriteHierarchicalUrl(UrlRewriteContext context)
Parameters
| Type | Name | Description |
|---|---|---|
| UrlRewriteContext | context | The context. |
TransferQueryStringsToConvertedUrl(UrlBuilder, Uri)
Unsupported INTERNAL API! Not covered by semantic versioning; might change without notice. Transfers the query strings to converted URL.
Declaration
protected static void TransferQueryStringsToConvertedUrl(UrlBuilder externalUrl, Uri internalUri)
Parameters
| Type | Name | Description |
|---|---|---|
| UrlBuilder | externalUrl | The external URL. |
| System.Uri | internalUri | The internal URI. |
TryHandleUrl(UrlRewriteContext, ref Object, ref CachedUrlHandler)
Unsupported INTERNAL API! Not covered by semantic versioning; might change without notice. Tries to handle the URL gven in the context.
Declaration
public bool TryHandleUrl(UrlRewriteContext context, ref object internalObject, ref CachedUrlHandler handler)
Parameters
| Type | Name | Description |
|---|---|---|
| UrlRewriteContext | context | The context for the rewrite. Note that the URL of the context may be modified. |
| System.Object | internalObject | The internal object representation. |
| CachedUrlHandler | handler | The cached handler. |
Returns
| Type | Description |
|---|---|
| System.Boolean | True if the URL was recognized and handled, False otherwise. |
Remarks
If this method returns False (URL not handled), then the context, internalObject and handler should be unaffected.
If the method returns True (URL handled), then UrlRewritten will indicate if the context.Url property has been modified. The method may optionally return a CachedUrlHandler in the handler parameter in this case as well.
Returning a non-null value in handler is how you indicate that you have want to cache expensive url lookups and reuse for subsequent calls.