Esempio n. 1
0
 public RegisterMessageHandler(IMessagesSender messagesSender, CommunicationsServerConfiguration config,
                               IClientIdGenerator generator, IMediator mediator, IBackupSender sender)
 {
     this.messagesSender = messagesSender;
     this.config         = config;
     this.generator      = generator;
     this.mediator       = mediator;
     this.sender         = sender;
 }
Esempio n. 2
0
        public RegisterMessageHandlerTests()
        {
            sender = A.Fake <IMessagesSender>();
            config = new CommunicationsServerConfiguration {
                CommunicationsTimeout = Timeout
            };
            idGenerator   = A.Fake <IClientIdGenerator>();
            backupManager = A.Fake <IBackupServerManager>();
            mediator      = A.Fake <IMediator>();
            client        = A.Fake <ITcpClient>();
            backupSender  = A.Fake <IBackupSender>();
            A.CallTo(() => backupManager.BackupServers).Returns(A.CollectionOfFake <BackupNodeInfo>(0).ToArray());
            A.CallTo(() => client.GetStream()).Returns(A.Fake <INetworkStream>());
            A.CallTo(() => client.RemoteEndpoint).Returns(Endpoint);

            message = new RegisterMessage {
                Type = Constants.NodeTypes.ComputationalNode
            };

            A.CallTo(() => idGenerator.Next()).Returns(NodeId);

            handler = new RegisterMessageHandler(sender, config, idGenerator, mediator, backupSender);
        }
 public IdentityServerEfClientStore(EntityFrameworkServiceOptions options, IClientIdGenerator clientIdGenerator, IClientSecretGenerator secretGenerator) {
     this.options = options;
     this.clientIdGenerator = clientIdGenerator;
     this.secretGenerator = secretGenerator;
 }
Esempio n. 4
0
        public async Task Invoke(HttpContext httpContext, ITrafficCometMiddlewaresAccessor trafficCometAccessor,
                                 ITrafficLogWriter logWriter, ITrafficLogFactory logFactory, ITraceIdGenerator traceIdGenerator,
                                 IClientIdGenerator clientUniqueIdGenerator, IOptionsSnapshot <TrafficCometMiddlewareConfig> config)
        {
            if (trafficCometAccessor == null)
            {
                throw new ArgumentNullException(nameof(trafficCometAccessor));
            }

            if (logWriter == null)
            {
                throw new ArgumentNullException(nameof(logWriter));
            }

            if (logFactory == null)
            {
                throw new ArgumentNullException(nameof(logFactory));
            }

            if (traceIdGenerator == null)
            {
                throw new ArgumentNullException(nameof(traceIdGenerator));
            }

            if (clientUniqueIdGenerator == null)
            {
                throw new ArgumentNullException(nameof(clientUniqueIdGenerator));
            }

            TrafficCometMiddlewaresAccessor internalTrafficCometAccessor = (TrafficCometMiddlewaresAccessor)trafficCometAccessor;

            internalTrafficCometAccessor.InitContextValues();
            internalTrafficCometAccessor.ApplicationId      = config.Value.ApplicationId;
            internalTrafficCometAccessor.IgnoreWholeRequest = config.IgnoreRequest(httpContext.Request.Path);

            var clientIdReaded = clientUniqueIdGenerator.TryGenerateClientId(out string clientId);
            var traceIdReaded  = traceIdGenerator.TryGenerateTraceId(out string traceId);

            if (!internalTrafficCometAccessor.IgnoreWholeRequest && clientIdReaded && traceIdReaded)
            {
                BeforeExecuteNextMiddleware(ref internalTrafficCometAccessor, clientId, traceId);
                await Next(httpContext);

                try
                {
                    AfterExecutedNextMiddleware(ref internalTrafficCometAccessor);
                    var ignoreRequest  = internalTrafficCometAccessor.IgnoreRequest;
                    var ignoreResponse = internalTrafficCometAccessor.IgnoreResponse;

                    var log = logFactory.Create();
                    if (log != null)
                    {
                        _ = logWriter.SaveLog(log);
                    }
                }
                catch (Exception ex)
                {
                    if (Logger != null && Logger.IsEnabled(LogLevel.Error))
                    {
                        Logger.LogError(new EventId(92, $"TrafficComet.{nameof(TrafficCometMiddleware)}"), ex, ex.ToString());
                    }
                }
            }
            else
            {
                await Next(httpContext);
            }
        }