Ejemplo n.º 1
0
        public static List <string[]> getSyncGrid(string uri, string dashboardID)
        {
            string response;

            try
            {
                List <string[]> result = null;

                response = connector.HttpGet(uri, timoutAPI);

                Logger.Debug("GET: " + uri + " ok");

                if (response != null)
                {
                    result = JsonConvert.DeserializeObject <List <string[]> >(response);
                }
                else
                {
                    result = new List <string[]>();
                }
                return(result);
            }
            catch (Exception ex)
            {
                APIResponseTime.calculateResponseCount(uri, ex.GetType().ToString());
                Logger.Warn("GET: " + uri);
                Logger.Warn(ex.ToString());
                return(null);
            }
        }
Ejemplo n.º 2
0
        public static async Task <List <string[]> > getAsyncGrid(string uri, string dashboardID)
        {
            try
            {
                string          respString = null;
                List <string[]> result     = null;
                using (HttpClient client = new HttpClient())
                {
                    client.Timeout = TimeSpan.FromMilliseconds(timeoutGrid);
                    var response = await client.GetAsync(uri);

                    Logger.Debug("GET: " + uri + " " + response.StatusCode.ToString());
                    if (response.StatusCode == System.Net.HttpStatusCode.OK)
                    {
                        respString = await response.Content.ReadAsStringAsync();

                        result = JsonConvert.DeserializeObject <List <string[]> >(respString);
                    }
                    else
                    {
                        APIResponseTime.calculateResponseCount(uri, response.StatusCode.ToString());
                    }
                }
                return(result);
            }
            catch (Exception ex)
            {
                APIResponseTime.calculateResponseCount(uri, ex.GetType().ToString());
                Logger.Warn("GET: " + uri);
                Logger.Warn(ex.ToString());
                return(null);
            }
        }
Ejemplo n.º 3
0
        public static string processGetTile(string uri, string path, bool firstTry)
        {
            uri = uri.ToLower();
            JToken  item       = null;
            JObject jsonObject = null;

            jsonObject = (JObject)MemoryCaches.memCache.Get(uri);
            try
            {
                if (jsonObject != null)
                {
                    if (jsonObject.ToString() == "error")
                    {
                        return(null);
                    }
                }
                else
                {
                    var response = connector.HttpGet(uri, timoutAPI);
                    Logger.Debug("GET: " + uri + " OK");
                    jsonObject = JObject.Parse(response);
                }

                JObject jObject = (JObject)jsonObject;
                if (jObject != null)
                {
                    MemoryCaches.memCache.Set(uri, jObject, MemoryCache.InfiniteAbsoluteExpiration);
                    item = jObject.SelectToken("$." + path);
                    return(item.ToString());
                }
                else
                {
                    MemoryCaches.memCache.Set(uri, "error", MemoryCache.InfiniteAbsoluteExpiration);
                    return(null);
                }
            }
            catch (Exception ex)
            {
                if (firstTry)
                {
                    Thread.Sleep(retryAPI);
                    return(processGetTile(uri, path, false));
                }
                else
                {
                    MemoryCaches.memCache.Set(uri, "error", MemoryCache.InfiniteAbsoluteExpiration);
                    Logger.Warn("GET: " + uri + " " + path);
                    APIResponseTime.calculateResponseCount(uri, ex.GetType().ToString());
                    Logger.Warn(ex.ToString());
                    return(null);
                }
            }
        }
Ejemplo n.º 4
0
        public static async Task <Dictionary <string, string> > getAsyncMessages(string uri, FilterStatus filter, string dashboardID)
        {
            try
            {
                string         respString            = null;
                List <JObject> result                = null;
                Dictionary <string, string> messages = new Dictionary <string, string>();
                string URL = uri + "?filter=" + JsonConvert.SerializeObject(filter);
                URL = URL.Replace(@"\", string.Empty);
                using (HttpClient client = new HttpClient())
                {
                    client.Timeout = TimeSpan.FromMilliseconds(timeoutMesssages);
                    var response = await client.GetAsync(URL);

                    Logger.Debug("GET: " + uri + " " + response.StatusCode.ToString());
                    if (response.StatusCode == System.Net.HttpStatusCode.OK)
                    {
                        respString = await response.Content.ReadAsStringAsync();

                        result = JsonConvert.DeserializeObject <List <JObject> >(respString);
                    }
                    else
                    {
                        APIResponseTime.calculateResponseCount(uri, response.StatusCode.ToString());
                        return(null);
                    }
                }
                JToken thing = null;
                JToken item  = null;
                foreach (var obj in result)
                {
                    thing = obj.SelectToken("$." + "thingId");
                    if (!messages.ContainsKey(thing.ToString()))
                    {
                        item = obj.SelectToken("$." + "status");
                        messages.Add(thing.ToString(), item.ToString());
                    }
                }
                return(messages);
            }
            catch (Exception ex)
            {
                APIResponseTime.calculateResponseCount(uri, ex.GetType().ToString());
                Logger.Warn(uri);
                Logger.Warn(JsonConvert.SerializeObject(filter));
                Logger.Warn(ex.ToString());
                return(null);
            }
        }
Ejemplo n.º 5
0
        public static async Task <Dictionary <string, string> > getAsyncThings(string uri)
        {
            try
            {
                string         respString = null;
                List <JObject> result     = null;
                Dictionary <string, string> dictResult = new Dictionary <string, string>();
                using (HttpClient client = new HttpClient())
                {
                    var response = await client.GetAsync(uri);

                    Logger.Debug("GET: " + uri + " " + response.StatusCode.ToString());

                    if (response.StatusCode == System.Net.HttpStatusCode.OK)
                    {
                        respString = await response.Content.ReadAsStringAsync();

                        result = JsonConvert.DeserializeObject <List <JObject> >(respString);
                    }
                    else
                    {
                        APIResponseTime.calculateResponseCount(uri, response.StatusCode.ToString());

                        return(null);
                    }
                }
                JToken item  = null;
                JToken value = null;
                foreach (var obj in result)
                {
                    item  = obj.SelectToken("$." + "thingId");
                    value = obj.SelectToken("$." + "code");
                    dictResult.Add(item.ToString(), value.ToString());
                }

                return(dictResult);
            }
            catch (Exception ex)
            {
                APIResponseTime.calculateResponseCount(uri, ex.GetType().ToString());

                Logger.Warn("GET: " + uri);
                Logger.Warn(ex.ToString());
                return(null);
            }
        }
Ejemplo n.º 6
0
        public static async Task <string> processGetTile(string uri, string path, bool firstTry)
        {
            uri = uri.ToLower();
            string  respString = null;
            JToken  item       = null;
            JObject jsonObject = null;

            jsonObject = (JObject)MemoryCaches.memCache.Get(uri);
            HttpResponseMessage response = null;
            var cts = new CancellationTokenSource();

            try
            {
                if (jsonObject != null)
                {
                    if (jsonObject.ToString() == "error")
                    {
                        return(null);
                    }
                }
                else
                {
                    using (HttpClient client = new HttpClient())
                    {
                        //client.Timeout = TimeSpan.FromMilliseconds(timoutAPI);
                        response = await client.GetAsync(uri);

                        Logger.Debug("GET: " + uri + " " + response.StatusCode.ToString());
                        if (response.StatusCode == System.Net.HttpStatusCode.OK)
                        {
                            respString = await response.Content.ReadAsStringAsync();

                            jsonObject = JObject.Parse(respString);
                        }
                        else
                        {
                            respString = await response.Content.ReadAsStringAsync();

                            APIResponseTime.calculateResponseCount(uri, response.StatusCode.ToString());
                        }
                    }
                }

                JObject jObject = (JObject)jsonObject;
                if (jObject != null)
                {
                    MemoryCaches.memCache.Set(uri, jObject, MemoryCache.InfiniteAbsoluteExpiration);
                    item = jObject.SelectToken("$." + path);
                    return(item.ToString());
                }
                else
                {
                    MemoryCaches.memCache.Set(uri, "error", MemoryCache.InfiniteAbsoluteExpiration);
                    return(null);
                }
            }
            catch (Exception ex)
            {
                if (firstTry)

                {
                    await Task.Delay(retryAPI);

                    return(await processGetTile(uri, path, false));
                }
                else
                {
                    MemoryCaches.memCache.Set(uri, "error", MemoryCache.InfiniteAbsoluteExpiration);
                    Logger.Warn("GET: " + uri + " " + path);
                    APIResponseTime.calculateResponseCount(uri, ex.GetType().ToString());
                    Logger.Warn(ex.ToString());
                    return(null);
                }
            }
        }