Ejemplo n.º 1
0
        /// <summary>
        /// Login to SkyResponse API
        /// </summary>
        /// <returns></returns>
        public async Task Login()
        {
            _accesstoken = await _userService.GetAccessToken();

            if (!string.IsNullOrEmpty(_accesstoken))
            {
                _userService.SaveUserInfo();

                try
                {
                    await _httpRequest.RegisterForPush(_accesstoken);
                }
                catch (HttpRequestException)
                {
                    ReConnect();
                    return;
                }

                try
                {
                    var webSocketUrl = string.Concat(WebSocketUrl, _accesstoken);
                    _webSocket.Connect(webSocketUrl);
                }
                catch (WebSocketException)
                {
                    ReConnect();
                    return;
                }

                _webSocket.OnMessage(OnMessageAsync);
                _webSocket.OnDisconnect(OnDisconnect);
            }
        }
Ejemplo n.º 2
0
        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);
                }
            }
        }
Ejemplo n.º 3
0
        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(""));
        }