public async Task <ToDroneOrNotToDroneResponse> TellMe(double lat, double lng)
        {
            try
            {
                var res = await UncommonRequestHelper.ProcessGetRequestAsync <ToDroneOrNotToDroneResponse>(string.Format("http://keepondroningnew.azurewebsites.net/api/lothric/estus/{0}/{1}", lat, lng));

                return(res.Result);
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
                return(new ToDroneOrNotToDroneResponse()
                {
                    HasBirds = true,
                    CrossingFlightpaths = false,
                    HasNoFlyZone = false,
                    HasDangerDanger = true,
                    MaxHeight = 100,
                    Weather = new WeatherResponse()
                    {
                        WindDegree = 0.45f,
                        WindSpeed = 94,
                        WindDirection = "ZO"
                    }
                });
            }
        }
Пример #2
0
        public async Task <FireDangerResponse> CheckForFire(double lat, double lng)
        {
            try
            {
                var coords = new Coordinate()
                {
                    Latitude  = lat,
                    Longitude = lng
                };

                var result = await UncommonRequestHelper.ProcessPostRequestAsync <Coordinate, FireDangerResponse>("http://inferno-web.azurewebsites.net/api/firedanger", coords, new UncommonRequestOptions()
                {
                    Authorized = true,
                    Timeout    = 12000
                }).ConfigureAwait(false);

                if (result.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    return(result.Result);
                }
                return(null);
            }
            catch (Exception e)
            {
            }
            return(null);
        }
Пример #3
0
        public async Task <bool> AlertForFire(double lat, double lng, EFireSeverity severity, string description)
        {
            try
            {
                var report = new FireReport()
                {
                    Description  = description,
                    FireSeverity = severity,
                    TimeStamp    = DateTime.Now,
                    Coordinates  = new Coordinate()
                    {
                        Latitude  = lat,
                        Longitude = lng
                    }
                };

                var result = await UncommonRequestHelper.ProcessPostRequestAsync <FireReport>("http://inferno-web.azurewebsites.net/api/firereport", report, new UncommonRequestOptions()
                {
                    Authorized = true,
                    Timeout    = 12000
                }).ConfigureAwait(false);

                if (result.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    return(true);
                }
                return(false);
            }
            catch (Exception e)
            {
            }
            return(false);
        }
Пример #4
0
        public async Task GetPizzaaass()
        {
            var result = await UncommonRequestHelper.ProcessGetRequestAsync <Menu>(PizzaEndpoint).ConfigureAwait(false);

            if (result.StatusCode == HttpStatusCode.OK)
            {
                Pizzas = result.Result.MenuPages.SelectMany(x => x.SubMenus.SelectMany(y => y.Products.ToList())).ToList();
            }
        }
Пример #5
0
        private async Task ProcessGetRequestHttpRequestExceptionTestAsync()
        {
            var exceptionObject = new ExceptionObject()
            {
                Description = "This is a test Exception Description",
                Message     = "This is a test Exception Message",
                Type        = EType.WrongHeaders
            };

            using (ShimsContext.Create())
            {
                ShimHttpClient.AllInstances.SendAsyncHttpRequestMessageCancellationToken = (client, message, arg3) =>
                {
                    //var webEx = new WebException("", WebExceptionStatus.UnknownError, )
                    throw new HttpRequestException();
                };

                ShimHttpWebResponse.AllInstances.ResponseStreamGet = (response) =>
                {
                    return(ShimsContext.ExecuteWithoutShims(() => response.GetResponseStream()));
                };

                try
                {
                    var result = await UncommonRequestHelper.ProcessGetRequestAsync <Person>("http://www.xciles.com/");

                    Assert.Fail("Should not be able to be here...");
                }
                catch (UncommonRequestException ex)
                {
                    Assert.IsTrue(ex.RequestExceptionStatus == EUncommonRequestExceptionStatus.ServiceError);
                    Assert.IsTrue(ex.StatusCode == HttpStatusCode.BadRequest);

                    //var responseResult = ex.ConvertExceptionResponseToObject<ExceptionObject>();
                    //Assert.IsTrue(responseResult != null);
                    //Assert.IsTrue(responseResult.Description == exceptionObject.Description);
                    //Assert.IsTrue(responseResult.Message == exceptionObject.Message);
                    //Assert.IsTrue(responseResult.Type == exceptionObject.Type);
                }
            }
        }
Пример #6
0
        private async Task ProcessGetRequestWebExceptionTestAsync()
        {
            var exceptionObject = new ExceptionObject()
            {
                Description = "This is a test Exception Description",
                Message     = "This is a test Exception Message",
                Type        = EType.WrongHeaders
            };

            using (ShimsContext.Create())
            {
                ShimHttpClient.AllInstances.SendAsyncHttpRequestMessageCancellationToken = (client, message, arg3) =>
                {
                    return(Task.FromResult(new HttpResponseMessage()
                    {
                        Content = new StringContent(JsonConvert.SerializeObject(exceptionObject)),
                        StatusCode = HttpStatusCode.BadRequest
                    }));
                };

                try
                {
                    var result = await UncommonRequestHelper.ProcessGetRequestAsync <Person>("http://www.xciles.com/");

                    Assert.Fail("Should not be able to be here...");
                }
                catch (UncommonRequestException ex)
                {
                    Assert.IsTrue(ex.RequestExceptionStatus == EUncommonRequestExceptionStatus.ServiceError);
                    Assert.IsTrue(ex.StatusCode == HttpStatusCode.BadRequest);

                    var responseResult = ex.ConvertExceptionResponseToObject <ExceptionObject>();
                    Assert.IsTrue(responseResult != null);
                    Assert.IsTrue(responseResult.Description == exceptionObject.Description);
                    Assert.IsTrue(responseResult.Message == exceptionObject.Message);
                    Assert.IsTrue(responseResult.Type == exceptionObject.Type);
                }
            }
        }
Пример #7
0
        public async Task ProcessGetRequestTestAsync()
        {
            //await UncommonRequestHelper.ProcessGetRequestAsync()

            using (ShimsContext.Create())
            {
                ShimHttpClient.AllInstances.SendAsyncHttpRequestMessageCancellationToken = (client, message, arg3) =>
                {
                    return(Task.FromResult(new HttpResponseMessage()
                    {
                        Content = new StringContent(JsonConvert.SerializeObject(_person)),
                        StatusCode = HttpStatusCode.OK
                    }));
                };

                var result = await UncommonRequestHelper.ProcessGetRequestAsync <Person>("http://www.xciles.com/");

                Assert.AreEqual(_person.Firstname, result.Result.Firstname);
                Assert.AreEqual(_person.Lastname, result.Result.Lastname);
                Assert.AreEqual(_person.PhoneNumber, result.Result.PhoneNumber);
            }
        }
Пример #8
0
        public override async Task <IList <User> > SyncDataAsync()
        {
            var result = await UncommonRequestHelper.ProcessGetRequestAsync <IList <User> >("https://jsonplaceholder.typicode.com/users");

            return(result.Result);
        }