public HttpDiagnosticListenerObserver( IEnumerable <IContextInjector <TContext, HttpRequestMessage> > contextInjectors, IEndpointFilter endpointFilter, IOutgoingRequestNotifier <TContext, HttpRequestMessage, HttpResponseMessage> requestNotifier) { this.endpointFilter = endpointFilter; this.contextInjectors = new List <IContextInjector <TContext, HttpRequestMessage> >(contextInjectors); this.requestNotifier = requestNotifier; }
public ReplicationEndpoint Endpoint( ImmutableHashSet <string> logNames, ImmutableHashSet <ReplicationConnection> connections, IEndpointFilter endpointFilters = null, string applicationName = null, ApplicationVersion?applicationVersion = null, bool activate = true) { endpointFilters = endpointFilters ?? NoFilters.Instance; applicationName = applicationName ?? ReplicationEndpoint.DefaultApplicationName; var appVer = applicationVersion ?? ReplicationEndpoint.DefaultApplicationVersion; var endpoint = new ReplicationEndpoint(System, Id, logNames, LogFactory, connections, endpointFilters, applicationName, appVer); if (activate) { endpoint.Activate(); } return(endpoint); }
public ReplicationEndpoint( ActorSystem system, string id, ImmutableHashSet <string> logNames, Func <string, Props> logFactory, ImmutableHashSet <ReplicationConnection> connections, IEndpointFilter endpointFilters = null, string applicationName = null, ApplicationVersion?applicationVersion = null) { System = system; Id = id; LogNames = logNames; LogFactory = logFactory; Connections = connections; EndpointFilters = endpointFilters ?? NoFilters.Instance; ApplicationName = applicationName ?? DefaultApplicationName; ApplicationVersion = applicationVersion ?? DefaultApplicationVersion; Settings = new ReplicationSettings(system.Settings.Config); var logs = ImmutableDictionary.CreateBuilder <string, IActorRef>(); foreach (var logName in logNames) { var logId = LogId(logName); logs[logName] = system.ActorOf(LogFactory(logId), logId); } Logs = logs.ToImmutable(); var connectors = ImmutableHashSet.CreateBuilder <SourceConnector>(); foreach (var connection in connections) { connectors.Add(new SourceConnector(this, connection)); } this.connectors = connectors.ToImmutable(); this.acceptor = new Lazy <IActorRef>(() => system.ActorOf(Props.Create(() => new Acceptor(this)), Eventuate.Acceptor.Name)); var started = this.acceptor.Value; }
public static TBuilder AddEndpointFilter <TBuilder>(this TBuilder builder, IEndpointFilter filter) where TBuilder : IEndpointConventionBuilder => builder.AddEndpointFilterFactory((routeHandlerContext, next) => (context) => filter.InvokeAsync(context, next));
/// <summary> /// Sets <see cref="IEndpointFilter"/> /// </summary> /// <param name="endpointFilter"><see cref="IEndpointFilter"/> instance</param> /// <returns>Current <see cref="Configuration{TContext,TOutRequest,TOutResponse}"/> for chaining</returns> public Configuration <TContext, TOutRequest, TOutResponse> WithEndpointValidator(IEndpointFilter endpointFilter) { EndpointFilter = endpointFilter; return(this); }