Files
2024-01-25 04:44:02 +03:30

67 lines
2.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using xIdentityService.Configuration;
namespace xIdentityService.Interfaces {
public interface IXProxyHelper {
/// <summary>
/// Proxy Configuration ...
/// </summary>
/// <value></value>
XProxyConfiguration Configuration { get; }
/// <summary>
/// retrie Normalize Host ...
/// </summary>
/// <returns></returns>
string NormalizeHost ();
/// <summary>
/// Validate XProxy Configuration for Client ...
/// </summary>
/// <returns></returns>
bool ValidateConfiguration ();
/// <summary>
/// Retrieve all Prepared url of Routes ...
/// </summary>
/// <returns></returns>
IEnumerable<string> GetRouteUrls ();
/// <summary>
/// retrieve all registred Routes ...
/// </summary>
/// <returns></returns>
IEnumerable<XProxyRouteDescriptor> GetRoutes ();
/// <summary>
/// Prepare a request url for a Proxy Route ...
/// </summary>
/// <param name="url"></param>
/// <param name="descriptor"></param>
/// <returns></returns>
string PrepareActionUrlForXProxyRoute (
string url,
XProxyRouteDescriptor descriptor
);
/// <summary>
/// Prepare a request url for a Selected Proxy Route ...
/// </summary>
/// <param name="url"></param>
/// <param name="whereClause"></param>
/// <returns></returns>
string PrepareActionUrlForXProxyRoute (
string url,
Expression<Func<XProxyRouteDescriptor, bool>> whereClause
);
/// <summary>
/// Find an Specific Route ...
/// </summary>
/// <param name="whereClause"></param>
/// <returns></returns>
XProxyRouteDescriptor FindRoute (Expression<Func<XProxyRouteDescriptor, bool>> whereClause);
}
}