Example #1
0
        protected async Task <IEnumerable <T> > GetOfType <T>(string address, Action <HttpRequestMessage> auth = null) where T : class
        {
            var content = await Get(address, auth);

            var streamSource = new XmlOsmStreamSource(await content.ReadAsStreamAsync());
            var elements     = streamSource.OfType <T>();

            return(elements);
        }
Example #2
0
        private async Task <TOsmGeo> GetElement <TOsmGeo>(string id, string type) where TOsmGeo : OsmGeo
        {
            using (var client = new HttpClient())
            {
                var address  = _elementAddress.Replace(":id", id).Replace(":type", type);
                var response = await client.GetAsync(address);

                if (response.StatusCode != HttpStatusCode.OK)
                {
                    return(null);
                }
                var streamSource = new XmlOsmStreamSource(await response.Content.ReadAsStreamAsync());
                return(streamSource.OfType <TOsmGeo>().FirstOrDefault());
            }
        }