private static BossResponse OAuthFind(PlaceByCoordinates 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_PlaceBy_ShouldPreserveGFlags() { var request = new PlaceByCoordinates(-12.9516, 159.1547); request.GFlags.Add(GFlag.QuickMode); request.GFlags.ShouldContain(GFlag.QuickMode); }
public void Yahoo_PlaceFinder_PlaceByCoordinates_Location_ShouldConvertLatitudeAndLongitudeToStringRepresentation() { var it = new PlaceByCoordinates(55.555, 111.111); it.ShouldNotBeNull(); it.Location.ShouldEqual("55.555 111.111"); }
private Response ChannelFindByCoordinates(PlaceByCoordinates request, int retry = 0) { try { return(Channel.FindByCoordinates(request.Location, 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(ChannelFindByCoordinates(request, ++retry)); } throw; } catch (CommunicationException ex) { if (retry < RetryLimit && ex.Message == "Server Error") { return(ChannelFindByCoordinates(request, ++retry)); } throw; } }
public void Yahoo_PlaceFinder_PlaceByCoordinates_ShouldConstructWithLatitudeAndLongitude() { var it = new PlaceByCoordinates(55.555, 111.111); it.ShouldNotBeNull(); it.Latitude.ShouldEqual(55.555); it.Longitude.ShouldEqual(111.111); }
public ResultSet Find(PlaceByCoordinates 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_PlaceByCoordinates_ShouldAllowLongitudeToBeChanged_AfterConstruction() { var it = new PlaceByCoordinates(55.555, 111.111) { Longitude = 88.888 }; it.ShouldNotBeNull(); it.Latitude.ShouldEqual(55.555); it.Longitude.ShouldEqual(88.888); }
public ResultSet Find(PlaceByCoordinates request, string consumerKey, string consumerSecret) { if (request == null) { throw new ArgumentNullException("request"); } EnsureContractsAreSatisfied(request); var response = OAuthFind(request, consumerKey, consumerSecret); return(response.PlaceFinder); }
public ResultSet Find(PlaceByCoordinates request) { if (request == null) { throw new ArgumentNullException("request"); } EnsureContractsAreSatisfied(request); var response = ChannelFindByCoordinates(request); return(response.ResultSet); }
public void Yahoo_PlaceFinder_PlaceFinderClient_FindByCoordinates_ShouldReturn1Result_ForYahooExample() { using (var client = new PlaceFinderClient()) { var request = new PlaceByCoordinates(37.775391, 122.412209); var resultSet = client.Find(request, ConsumerKey, ConsumerSecret); resultSet.ShouldNotBeNull(); resultSet.Results.ShouldNotBeNull(); resultSet.Count.ShouldEqual(1); } }
public void Yahoo_PlaceFinder_PlaceFinderClient_FindByCoordinates_ShouldReturn1Result_ForYahooExample() { using (var client = new PlaceFinderClient()) { var request = new PlaceByCoordinates(37.775391, 122.412209); var resultSet = client.Find(request); resultSet.ShouldNotBeNull(); resultSet.Results.ShouldNotBeNull(); resultSet.Results.Count.ShouldEqual(1); } }
private static BossResponse OAuthFind(PlaceByCoordinates 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; } }
internal static Uri GetUri(this PlaceByCoordinates request) { return(GetQLocationUri(request, request.Location)); }