67 lines
2.0 KiB
C#
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);
|
|
}
|
|
} |