Files
Umbraco-CMS/src/Umbraco.Abstractions/Routing/IPublishedRouter.cs
T
Bjarke Berg 2b8be2cf00 Netcore: Move files from Web/Routing to Abstractions/Routing (#7642)
* AB4951 - Move routing files to abstractions

* Changed UriUtility from static to instance

* Moved more files from Routing in web to Abstractions

* Moved UrlProvider to Abstractions

* Moved PublishedRequest to Abstractions
2020-02-17 12:07:51 +01:00

55 lines
2.0 KiB
C#

using System;
using System.Collections.Generic;
using Umbraco.Core.Models;
namespace Umbraco.Web.Routing
{
/// <summary>
/// Routes requests.
/// </summary>
public interface IPublishedRouter
{
// TODO: consider this and RenderRouteHandler - move some code around?
/// <summary>
/// Creates a published request.
/// </summary>
/// <param name="umbracoContext">The current Umbraco context.</param>
/// <param name="uri">The (optional) request Uri.</param>
/// <returns>A published request.</returns>
IPublishedRequest CreateRequest(IUmbracoContext umbracoContext, Uri uri = null);
/// <summary>
/// Prepares a request for rendering.
/// </summary>
/// <param name="request">The request.</param>
/// <returns>A value indicating whether the request was successfully prepared and can be rendered.</returns>
bool PrepareRequest(IPublishedRequest request);
/// <summary>
/// Tries to route a request.
/// </summary>
/// <param name="request">The request.</param>
/// <returns>A value indicating whether the request can be routed to a document.</returns>
bool TryRouteRequest(IPublishedRequest request);
/// <summary>
/// Gets a template.
/// </summary>
/// <param name="alias">The template alias</param>
/// <returns>The template.</returns>
ITemplate GetTemplate(string alias);
/// <summary>
/// Updates the request to "not found".
/// </summary>
/// <param name="request">The request.</param>
/// <remarks>
/// <para>This method is invoked when the pipeline decides it cannot render
/// the request, for whatever reason, and wants to force it to be re-routed
/// and rendered as if no document were found (404).</para>
/// </remarks>
void UpdateRequestToNotFound(IPublishedRequest request);
}
}