private static BossResponse OAuthFind(PlaceByMultilineAddress request, string consumerKey, string consumerSecret, int retry = 0)
 {
     try
     {
         using (var oAuth = new OAuthClient())
         {
             var json          = oAuth.Get(request.GetUri(), consumerKey, consumerSecret);
             var bossContainer = JsonConvert.DeserializeObject <BossContainer>(json);
             if (bossContainer != null)
             {
                 return(bossContainer.BossResponse);
             }
             throw new InvalidOperationException("Unable to parse BOSS GEO Response. Raw JSON:\r\n" + json);
         }
     }
     catch (ProtocolException ex)
     {
         if (retry < RetryLimit && ex.InnerException is WebException)
         {
             return(OAuthFind(request, consumerKey, consumerSecret, ++retry));
         }
         throw;
     }
     catch (CommunicationException ex)
     {
         if (retry < RetryLimit && ex.Message == "Server Error")
         {
             return(OAuthFind(request, consumerKey, consumerSecret, ++retry));
         }
         throw;
     }
 }
        public void Yahoo_PlaceFinder_PlaceByMultilineAddress_ShouldConstructWithLine1()
        {
            var it = new PlaceByMultilineAddress("line 1");

            it.ShouldNotBeNull();
            it.Line1.ShouldEqual("line 1");
        }
        public void Yahoo_PlaceFinder_PlaceByMultilineAddress_ShouldConstructWithLine1()
        {
            var it = new PlaceByMultilineAddress("line 1");

            it.ShouldNotBeNull();
            it.Line1.ShouldEqual("line 1");
        }
 private Response ChannelFindByMultilineAddress(PlaceByMultilineAddress request, int retry = 0)
 {
     try
     {
         return(Channel.FindByMultilineAddress(request.Line1,
                                               request.Line2, request.Line3, request.Locale,
                                               request.Start, request.Count, request.Offset,
                                               request.GetFlagsAsString(), request.GetGFlagsAsString(),
                                               request.AppId));
     }
     catch (ProtocolException ex)
     {
         if (retry < RetryLimit && ex.InnerException is WebException)
         {
             return(ChannelFindByMultilineAddress(request, ++retry));
         }
         throw;
     }
     catch (CommunicationException ex)
     {
         if (retry < RetryLimit && ex.Message == "Server Error")
         {
             return(ChannelFindByMultilineAddress(request, ++retry));
         }
         throw;
     }
 }
        public ResultSet Find(PlaceByMultilineAddress request, string consumerKey, string consumerSecret)
        {
            if (request == null) throw new ArgumentNullException("request");
            EnsureContractsAreSatisfied(request);

            var response = OAuthFind(request, consumerKey, consumerSecret);
            return response.PlaceFinder;
        }
Exemple #6
0
        public void Yahoo_PlaceFinder_PlaceBy_ShouldPreserveLocale()
        {
            var it = new PlaceByMultilineAddress("line 1")
            {
                Locale = "locale"
            };

            it.ShouldNotBeNull();
            it.Locale.ShouldEqual("locale");
        }
Exemple #7
0
        public void Yahoo_PlaceFinder_PlaceBy_ShouldPreserveLocale()
        {
            var it = new PlaceByMultilineAddress("line 1")
            {
                Locale = "locale"
            };

            it.ShouldNotBeNull();
            it.Locale.ShouldEqual("locale");
        }
Exemple #8
0
        public void Yahoo_PlaceFinder_PlaceBy_ShouldSerializeFlags()
        {
            var request = new PlaceByMultilineAddress("line 1");

            request.Flags.Add(Flag.Airport);
            request.Flags.Add(Flag.TelephoneAreaCode);
            var flags = request.GetFlagsAsString();

            flags.ShouldEqual("QR");
        }
        public ResultSet Find(PlaceByMultilineAddress request, string consumerKey, string consumerSecret)
        {
            if (request == null)
            {
                throw new ArgumentNullException("request");
            }
            EnsureContractsAreSatisfied(request);

            var response = OAuthFind(request, consumerKey, consumerSecret);

            return(response.PlaceFinder);
        }
        public void Yahoo_PlaceFinder_PlaceFinderClient_FindByMultilineAddress_ShouldReturn1Result_ForYahooExample1()
        {
            using (var client = new PlaceFinderClient())
            {
                var request = new PlaceByMultilineAddress("701 First Ave.");

                var results = client.Find(request);
                results.ShouldNotBeNull();
                results.Results.ShouldNotBeNull();
                results.Results.Count.ShouldEqual(1);
            }
        }
        internal static Uri GetUri(this PlaceByMultilineAddress request)
        {
            const string template = "line1={line1}&line2={line2}&line3={line3}";

            var urlBuilder = new StringBuilder(GetBaseUrl(request, template));

            urlBuilder.Replace("{line1}", request.Line1);
            urlBuilder.Replace("{line2}", request.Line2);
            urlBuilder.Replace("{line3}", request.Line3);

            return(new Uri(urlBuilder.ToString()));
        }
        public ResultSet Find(PlaceByMultilineAddress request)
        {
            if (request == null)
            {
                throw new ArgumentNullException("request");
            }
            EnsureContractsAreSatisfied(request);

            var response = ChannelFindByMultilineAddress(request);

            return(response.ResultSet);
        }
        public void Yahoo_PlaceFinder_PlaceFinderClient_FindByMultilineAddress_ShouldReturn1Result_ForYahooExample1()
        {
            using (var client = new PlaceFinderClient())
            {
                var request = new PlaceByMultilineAddress("701 First Ave.");

                var results = client.Find(request, ConsumerKey, ConsumerSecret);
                results.ShouldNotBeNull();
                results.Results.ShouldNotBeNull();
                results.Count.ShouldBeInRange(1, int.MaxValue);
            }
        }
        public void Yahoo_PlaceFinder_PlaceByMultilineAddress_ShouldAllowLinesToBeChanged_AfterConstruction()
        {
            var it = new PlaceByMultilineAddress("line 1", "line 2", "line 3")
            {
                Line1 = "other line 1",
                Line2 = "other line 2",
                Line3 = "other line 3",
            };

            it.ShouldNotBeNull();
            it.Line1.ShouldEqual("other line 1");
            it.Line2.ShouldEqual("other line 2");
            it.Line3.ShouldEqual("other line 3");
        }
        public void Yahoo_PlaceFinder_PlaceByMultilineAddress_ShouldAllowLinesToBeChanged_AfterConstruction()
        {
            var it = new PlaceByMultilineAddress("line 1", "line 2", "line 3")
            {
                Line1 = "other line 1",
                Line2 = "other line 2",
                Line3 = "other line 3",
            };

            it.ShouldNotBeNull();
            it.Line1.ShouldEqual("other line 1");
            it.Line2.ShouldEqual("other line 2");
            it.Line3.ShouldEqual("other line 3");
        }
        public void Yahoo_PlaceFinder_PlaceFinderClient_FindByMultilineAddress_ShouldReturn1Result_ForYahooExample1()
        {
            using (var client = new PlaceFinderClient())
            {
                var request = new PlaceByMultilineAddress("701 First Ave.");

                var results = client.Find(request);
                results.ShouldNotBeNull();
                results.Results.ShouldNotBeNull();
                results.Results.Count.ShouldEqual(1);
            }
        }
        public void Yahoo_PlaceFinder_PlaceFinderClient_FindByMultilineAddress_ShouldReturn1Result_ForYahooExample1()
        {
            using (var client = new PlaceFinderClient())
            {
                var request = new PlaceByMultilineAddress("701 First Ave.");

                var results = client.Find(request, ConsumerKey, ConsumerSecret);
                results.ShouldNotBeNull();
                results.Results.ShouldNotBeNull();
                results.Count.ShouldBeInRange(1, int.MaxValue);
            }
        }
 private static BossResponse OAuthFind(PlaceByMultilineAddress request, string consumerKey, string consumerSecret, int retry = 0)
 {
     try
     {
         using (var oAuth = new OAuthClient())
         {
             var json = oAuth.Get(request.GetUri(), consumerKey, consumerSecret);
             var bossContainer = JsonConvert.DeserializeObject<BossContainer>(json);
             if (bossContainer != null) return bossContainer.BossResponse;
             throw new InvalidOperationException("Unable to parse BOSS GEO Response. Raw JSON:\r\n" + json);
         }
     }
     catch (ProtocolException ex)
     {
         if (retry < RetryLimit && ex.InnerException is WebException)
             return OAuthFind(request, consumerKey, consumerSecret, ++retry);
         throw;
     }
     catch (CommunicationException ex)
     {
         if (retry < RetryLimit && ex.Message == "Server Error")
             return OAuthFind(request, consumerKey, consumerSecret, ++retry);
         throw;
     }
 }
Exemple #19
0
 public void Yahoo_PlaceFinder_PlaceBy_ShouldSerializeFlags()
 {
     var request = new PlaceByMultilineAddress("line 1");
     request.Flags.Add(Flag.Airport);
     request.Flags.Add(Flag.TelephoneAreaCode);
     var flags = request.GetFlagsAsString();
     flags.ShouldEqual("QR");
 }