internal static async Task<IEnumerable<Tuple<string, string>>> GetImagesFromUri(string title, Uri uri)
{
var href = uri.OriginalString.Split('?')[0];
var groups = hashRe.Match(href).Groups;
if (groups.Count > 2 && string.IsNullOrWhiteSpace(groups[2].Value))
{
var hash = groups[1].Value;
if (hash.StartsWith("m"))
{
var apiURL = "http://min.us/api/GetItems/" + hash;
var request = HttpWebRequest.CreateHttp(apiURL);
string jsonResult;
using (var response = (await SimpleHttpService.GetResponseAsync(request)))
{
jsonResult = await Task<string>.Run(() =>
{
using (var sr = new StreamReader(response.GetResponseStream()))
{
return sr.ReadToEnd();
}
});
}
dynamic result = JsonConvert.DeserializeObject(jsonResult);
return new Tuple<string, string>[] { Tuple.Create(title, (string)result.src) };
}
else
return Enumerable.Empty<Tuple<string, string>>();
}
else
return Enumerable.Empty<Tuple<string, string>>();
}
}