Exemple #1
0
        public DdpClient(IWebSocketWrapper socket, ILogger logger)
        {
            _logger = logger;

            _socket = socket;
            AttachEvents();
        }
Exemple #2
0
 public WebSocketWrapperConnection(IWebSocketWrapper webSocket, IWampStreamingMessageParser <TMessage> parser, ICookieProvider cookieProvider, ICookieAuthenticatorFactory cookieAuthenticatorFactory) :
     base(cookieProvider, cookieAuthenticatorFactory)
 {
     mWebSocket = webSocket;
     mParser    = parser;
     mCancellationTokenSource = new CancellationTokenSource();
 }
 public TextWebSocketWrapperConnection(IWebSocketWrapper webSocket, IWampTextBinding <TMessage> binding,
                                       ICookieProvider cookieProvider,
                                       ICookieAuthenticatorFactory cookieAuthenticatorFactory, int?maxFrameSize) :
     base(webSocket, binding, cookieProvider, cookieAuthenticatorFactory, maxFrameSize)
 {
     mBinding = binding;
 }
Exemple #4
0
        private void SendMessage(LogEntry logEntry)
        {
            if (IsValidLogLevel(logEntry.LogLevel.ToString()))
            {
                IWebSocketWrapper _ws = null;
                try
                {
                    _ws = _webSocketPool.Acquire(Dev2.Common.Config.Auditing.Endpoint);
                    if (!_ws.IsOpen())
                    {
                        _ws.Connect();
                    }

                    var logCommand = new AuditCommand
                    {
                        Type     = "LogEntryCommand",
                        LogEntry = logEntry
                    };
                    var msg = _serializer.Serialize(logCommand);
                    _ws.SendMessage(msg);
                }
                finally
                {
                    _webSocketPool.Release(_ws);
                }
            }
        }
        public override StringBuilder Execute(Dictionary <string, StringBuilder> values, IWorkspace theWorkspace)
        {
            IWebSocketWrapper client = null;

            try
            {
                var serializer = new Dev2JsonSerializer();
                var result     = new List <IExecutionHistory>();
                if (values == null)
                {
                    throw new InvalidDataContractException(ErrorResource.NoParameter);
                }
                values.TryGetValue("ResourceId", out StringBuilder triggerID);
                if (triggerID != null)
                {
                    client = _webSocketPool.Acquire(Config.Auditing.Endpoint).Connect();

                    Dev2Logger.Info("Get Execution History Data from Logger Service. " + triggerID, GlobalConstants.WarewolfInfo);

                    var response = "";
                    var message  = new AuditCommand
                    {
                        Type  = "TriggerQuery",
                        Query = values
                    };
                    try
                    {
                        var ewh = new EventWaitHandle(false, EventResetMode.ManualReset);
                        client.OnMessage((msgResponse, socket) =>
                        {
                            response = msgResponse;
                            result.AddRange(serializer.Deserialize <List <ExecutionHistory> >(response));
                            ewh.Set();
                        });
                        client.SendMessage(serializer.Serialize(message));
                        ewh.WaitOne(_waitTimeOut);
                        return(serializer.SerializeToBuilder(result));
                    }
                    catch (Exception e)
                    {
                        Dev2Logger.Info("Get Execution History Data ServiceError", e, GlobalConstants.WarewolfInfo);
                    }
                    return(serializer.SerializeToBuilder(result));
                }
                Dev2Logger.Debug("No QueueName Provided", GlobalConstants.WarewolfDebug);
                return(serializer.SerializeToBuilder(new List <IExecutionHistory>()));
            }
            catch (Exception err)
            {
                Dev2Logger.Error(err, GlobalConstants.WarewolfError);
                throw;
            }
            finally
            {
                if (client != null)
                {
                    _webSocketPool.Release(client);
                }
            }
        }
 public void Handle(JObject command, IWebSocketWrapper wswrapper)
 {
     var expression = command.Property("filter");
     if (expression == null || expression.Value == null)
         return;
     wswrapper.Expression = new Regex(expression.Value.ToString());
 }
Exemple #7
0
        public void LogAuditState(Object logEntry)
        {
            try
            {
                Enum.TryParse(Config.Server.ExecutionLogLevel, out LogLevel executionLogLevel);
                if (logEntry is Audit auditLog && IsValidLogLevel(executionLogLevel, auditLog.LogLevel.ToString()))
                {
                    _ws = _webSocketFactory.Acquire(Config.Auditing.Endpoint);
                    _ws.Connect();

                    var auditCommand = new AuditCommand
                    {
                        Audit = auditLog,
                        Type  = "LogEntry"
                    };
                    string json = JsonConvert.SerializeObject(auditCommand);
                    _ws.SendMessage(json);
                }
            }
            catch (Exception e)
            {
                Dev2Logger.Error("LogAuditState", e.Message);
            }
            finally
            {
                if (_ws != null)
                {
                    _webSocketFactory.Release(_ws);
                    _ws = null;
                }
            }
        }
Exemple #8
0
 public SkyresponseApi(IHttpWrapper httpRequest, IWebSocketWrapper webSocket, ISoundService soundService, IUserService userService)
 {
     _httpRequest   = httpRequest;
     _webSocket     = webSocket;
     _soundService  = soundService;
     _userService   = userService;
     _alreadyPlayed = new List <string>();
 }
        public void Handle(JObject command, IWebSocketWrapper wswrapper)
        {
            var expression = command.Property("filter");

            if (expression == null || expression.Value == null)
            {
                return;
            }
            wswrapper.Expression = new Regex(expression.Value.ToString());
        }
Exemple #10
0
 public WebSocketWrapperConnection(IWebSocketWrapper webSocket, IWampMessageParser <TMessage, TRaw> parser,
                                   ICookieProvider cookieProvider,
                                   ICookieAuthenticatorFactory cookieAuthenticatorFactory, int?maxFrameSize) :
     base(cookieProvider, cookieAuthenticatorFactory)
 {
     mWebSocket               = webSocket;
     mParser                  = parser;
     mMaxFrameSize            = maxFrameSize;
     mCancellationTokenSource = new CancellationTokenSource();
     mCancellationToken       = mCancellationTokenSource.Token;
 }
Exemple #11
0
        public DdpClient(string baseUrl, bool useSsl, ILogger logger)
        {
            _logger = logger;

            var protocol = useSsl ? "wss" : "ws";

            Url = $"{protocol}://{baseUrl}/websocket";

            _socket = new WebSocketWrapper(new PortableWebSocket(Url));
            AttachEvents();
        }
Exemple #12
0
        public void Publish(byte[] value)
        {
            IWebSocketWrapper _ws = null;

            try
            {
                _ws = _webSocketPool.Acquire(Config.Auditing.Endpoint);
                _ws.SendMessage(value);
            }
            finally
            {
                _webSocketPool.Release(_ws);
            }
        }
        protected virtual void Dispose(bool disposing)
        {
            if (!_isDisposed)
            {
                if (disposing)
                {
                    if (_ws != null)
                    {
                        _webSocketFactory.Release(_ws);
                        _ws = null;
                    }
                }

                _isDisposed = true;
            }
        }
        public void LogAuditState(Object logEntry)
        {
            if (!_ws.IsOpen())
            {
                _ws = _webSocketFactory.Acquire(Config.Auditing.Endpoint);
                _ws.Connect();
            }

            if (logEntry is Audit auditLog)
            {
                var auditCommand = new AuditCommand
                {
                    Audit = auditLog,
                    Type  = "LogEntry"
                };
                string json = JsonConvert.SerializeObject(auditCommand);
                _ws.SendMessage(json);
            }
        }
        public StringBuilder Execute(Dictionary <string, StringBuilder> values, IWorkspace theWorkspace)
        {
            IWebSocketWrapper client = null;

            Dev2Logger.Info("Get Log Data Service", GlobalConstants.WarewolfInfo);
            var serializer = new Dev2JsonSerializer();
            var result     = new List <Audit>();
            var response   = "";
            var message    = new AuditCommand()
            {
                Type  = "LogQuery",
                Query = values
            };

            try
            {
                client = _webSocketPool.Acquire(Config.Auditing.Endpoint).Connect();
                var ewh = new EventWaitHandle(false, EventResetMode.ManualReset);

                client.OnMessage((msgResponse, socket) =>
                {
                    response = msgResponse;
                    result.AddRange(serializer.Deserialize <List <Audit> >(response));
                    ewh.Set();
                });
                client.SendMessage(serializer.Serialize(message));

                ewh.WaitOne(_waitTimeOut);
                LogDataCache.CurrentResults = result;
                return(serializer.SerializeToBuilder(result));
            }
            catch (Exception e)
            {
                Dev2Logger.Info("Get Log Data ServiceError", e, GlobalConstants.WarewolfInfo);
            }
            finally
            {
                _webSocketPool.Release(client);
            }
            return(serializer.SerializeToBuilder(""));
        }
        private void SendMessage(string jsonLogEntry)
        {
            IWebSocketWrapper client = null;

            try
            {
                client = _webSocketFactory.Acquire(Config.Auditing.Endpoint);
                if (!client.IsOpen())
                {
                    client = _webSocketFactory.Acquire(Config.Auditing.Endpoint);
                }
                client.SendMessage(jsonLogEntry);
            }
            catch (Exception ex)
            {
                Dev2Logger.Error("LogAuditState", ex.InnerException == null ? ex.Message : ex.InnerException.Message);
            }
            finally
            {
                _webSocketFactory.Release(client);
            }
        }
Exemple #17
0
        private async Task <WebSocketReceiveResult> ReadMessage(IWebSocketWrapper webSocket, ArraySegment <byte> receivedDataBuffer, MemoryStream memoryStream)
        {
            WebSocketReceiveResult webSocketReceiveResult;

            long length = 0;

            do
            {
                webSocketReceiveResult =
                    await webSocket.ReceiveAsync(receivedDataBuffer, CancellationToken.None)
                    .ConfigureAwait(false);

                length += webSocketReceiveResult.Count;

                await memoryStream.WriteAsync(receivedDataBuffer.Array,
                                              receivedDataBuffer.Offset,
                                              webSocketReceiveResult.Count)
                .ConfigureAwait(false);
            }while (!webSocketReceiveResult.EndOfMessage);

            return(webSocketReceiveResult);
        }
Exemple #18
0
        public void Release(IWebSocketWrapper webSocketWrapper)
        {
            var pool = WebSocketConnectionPool.GetOrAdd(webSocketWrapper.Uri, CreateObjectPool);

            pool.ReleaseObject(webSocketWrapper);
        }
 public ConnectionService(IWebSocketWrapper webSocketWrapper)
 {
     _webSocketWrapper = webSocketWrapper;
 }
 public StartController(IWebSocketWrapper webSocketWrapper, GameStarter gameStarter, Game game)
 {
     _webSocketWrapper = webSocketWrapper;
     _game             = game;
     _gameStarter      = gameStarter;
 }
Exemple #21
0
 public StateAuditLogger(IWebSocketFactory webSocketFactory)
 {
     _webSocketFactory = webSocketFactory;
     _ws = webSocketFactory.New();
     _ws.Connect();
 }
 public StateAuditLogger(IWebSocketPool webSocketFactory)
 {
     _webSocketFactory = webSocketFactory;
     _ws = webSocketFactory.Acquire(Config.Auditing.Endpoint);
     _ws.Connect();
 }
Exemple #23
0
 public BinaryWebSocketWrapperConnection(IWebSocketWrapper webSocket, IWampBinaryBinding <TMessage> binding, ICookieProvider cookieProvider, ICookieAuthenticatorFactory cookieAuthenticatorFactory) :
     base(webSocket, binding, cookieProvider, cookieAuthenticatorFactory)
 {
     mBinding = binding;
 }