Fix Google Suggestion crash on network error

This commit is contained in:
Yeechan Lu 2014-03-27 21:14:41 +08:00
parent 30961babde
commit eec96b8549

View file

@ -16,26 +16,32 @@ namespace Wox.Plugin.System.SuggestionSources
{ {
public override List<string> GetSuggestions(string query) public override List<string> GetSuggestions(string query)
{ {
var response = try
HttpRequest.CreateGetHttpResponse("https://www.google.com/complete/search?output=chrome&q=" + Uri.EscapeUriString(query), null,
null, null);
var stream = response.GetResponseStream();
if (stream != null)
{ {
var body = new StreamReader(stream).ReadToEnd(); var response =
var json = JsonConvert.DeserializeObject(body) as JContainer; HttpRequest.CreateGetHttpResponse(
if (json != null) "https://www.google.com/complete/search?output=chrome&q=" + Uri.EscapeUriString(query), null,
null, null);
var stream = response.GetResponseStream();
if (stream != null)
{ {
var results = json[1] as JContainer; var body = new StreamReader(stream).ReadToEnd();
if (results != null) var json = JsonConvert.DeserializeObject(body) as JContainer;
if (json != null)
{ {
var j = results.OfType<JValue>().Select(o => o.Value); var results = json[1] as JContainer;
return results.OfType<JValue>().Select(o => o.Value).OfType<string>().ToList(); if (results != null)
{
var j = results.OfType<JValue>().Select(o => o.Value);
return results.OfType<JValue>().Select(o => o.Value).OfType<string>().ToList();
}
} }
} }
} }
catch
{ }
return null; return null;
} }
} }