/// <summary> /// Includes a view model filter to the dotNetify's pipeline. /// </summary> /// <param name="dotNetifyConfig">DotNetify configuration.</param> /// <param name="args">View model filter arguments.</param> public static void UseFilter <T>(this IDotNetifyConfiguration _, params object[] args) where T : IVMFilter { if (!_filterTypes.Any(x => x.Item1 == typeof(T) && x.Item2 == args)) { _filterTypes.Add(Tuple.Create(typeof(T), args)); } }
/// <summary> /// Includes a middleware to the dotNetify's pipeline. /// </summary> /// <param name="dotNetifyConfig">DotNetify configuration.</param> /// <param name="args">Middleware arguments.</param> public static void UseMiddleware <T>(this IDotNetifyConfiguration _, params object[] args) where T : IMiddlewarePipeline { if (!_middlewareTypes.Any(x => x.Item1 == typeof(T) && x.Item2 == args)) { _middlewareTypes.Add(Tuple.Create(typeof(T), args)); } }
/// <summary> /// The middleware used for forwarding incoming hub messages to other servers. /// </summary> /// <param name="config">DotNetify configuration.</param> /// <param name="serverUrls">Array of URLs of the servers to forward messages to.</param> /// <param name="haltPipeline">Whether to prevent further processing in this server after forwarding messages.</param> public static IDotNetifyConfiguration UseForwarding(this IDotNetifyConfiguration config, string[] serverUrls, Action <ForwardingOptions> optionsAccessor = null) { for (int i = 0; i < serverUrls.Length; i++) { var forwardingOptions = new ForwardingOptions(); optionsAccessor?.Invoke(forwardingOptions); if (i < serverUrls.Length - 1) { forwardingOptions.HaltPipeline = false; } config.UseMiddleware <ForwardingMiddleware>(serverUrls[i], forwardingOptions); } return(config); }
public static void UseDeveloperLogging(this IDotNetifyConfiguration config, LogTraceDelegate logTraceDelegate = null) { config.UseMiddleware <DeveloperLoggingMiddleware>(logTraceDelegate ?? (log => Trace.WriteLine(log))); }
/// <summary> /// The middleware used for forwarding incoming hub messages to another server. /// </summary> /// <param name="config">DotNetify configuration.</param> /// <param name="serverUrl">URL of the server to forward messages to.</param> /// <param name="haltPipeline">Whether to prevent further processing in this server after forwarding messages.</param> public static IDotNetifyConfiguration UseForwarding(this IDotNetifyConfiguration config, string serverUrl, Action <ForwardingOptions> optionsAccessor = null) { return(config.UseForwarding(new string[] { serverUrl }, optionsAccessor)); }
public static void UseFilter <T>(this IDotNetifyConfiguration dotNetifyConfig, params object[] args) where T : IVMFilter => _filterTypes.Add(Tuple.Create(typeof(T), args));
public static void UseMiddleware <T>(this IDotNetifyConfiguration dotNetifyConfig, params object[] args) where T : IMiddlewarePipeline => _middlewareTypes.Add(Tuple.Create(typeof(T), args));
public static void UseDeveloperLogging(this IDotNetifyConfiguration config, LogTraceDelegate logTraceDelegate = null) { config.UseMiddleware <DeveloperLoggingMiddleware>(logTraceDelegate ?? (log => Logger.LogInformation(log))); }
public static void UseMiddleware <T>(this IDotNetifyConfiguration dotNetifyConfig) where T : IMiddleware => _middlewareTypes.Add(typeof(T));
public static void UseJwtBearerAuthentication(this IDotNetifyConfiguration config, TokenValidationParameters tokenValidationParameters) { config.UseMiddleware <JwtBearerAuthenticationMiddleware>(tokenValidationParameters); }