/// <summary> /// locates the items (ie: performs a search) using the data in the context. the context /// will (possibly) contain data in fields declared as inputFields in the helper contract /// </summary> /// <param name="context"></param> /// <returns></returns> public override AppHelperItem[] LocateItems(AppHelperContext context) { string url = BuildSearchUrl(context); Debug("requesting URL: " + url); var request = WebRequest.Create(url); request.Proxy = WebRequest.GetSystemWebProxy(); request.Proxy.Credentials = CredentialCache.DefaultCredentials; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Debug("response URI: " + response.ResponseUri); Debug("response status code: " + response.StatusCode); Debug("content type: " + response.ContentType); AppHelperItem[] items; if (response.StatusCode == HttpStatusCode.OK) { items = ProcessSearchResponse(response.GetResponseStream()); } else { // something strange happened... items = new ImdbAppHelperItem[0]; } response.Close(); return(items); }
private ImdbAppHelperItem[] ProcessSearchResponse(Stream stream) { XDocument document = XDocument.Load(stream); var movie = document.Element("root").Element("movie"); ImdbAppHelperItem item = new ImdbAppHelperItem { Name = string.Format("{0} ({1})", movie.Attribute("title").Value, movie.Attribute("year").Value), Value = movie.Attribute("id").Value }; return(new[] { item }); }
/// <summary> /// locates the items (ie: performs a search) using the data in the context. the context /// will (possibly) contain data in fields declared as inputFields in the helper contract /// </summary> /// <param name="context"></param> /// <returns></returns> public override AppHelperItem[] LocateItems(AppHelperContext context) { string url = BuildSearchUrl(context); Debug("requesting URL: " + url); var request = WebRequest.Create(url); request.Proxy = WebRequest.GetSystemWebProxy(); request.Proxy.Credentials = CredentialCache.DefaultCredentials; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Debug("response URI: " + response.ResponseUri); Debug("response status code: " + response.StatusCode); Debug("content type: " + response.ContentType); AppHelperItem[] items; if (response.StatusCode == HttpStatusCode.OK) { items = ProcessSearchResponse(response.GetResponseStream()); } else { // something strange happened... items = new ImdbAppHelperItem[0]; } response.Close(); return items; }
private ImdbAppHelperItem[] ProcessSearchResponse(Stream stream) { XDocument document = XDocument.Load(stream); var movie = document.Element("root").Element("movie"); ImdbAppHelperItem item = new ImdbAppHelperItem { Name = string.Format("{0} ({1})", movie.Attribute("title").Value, movie.Attribute("year").Value), Value = movie.Attribute("id").Value }; return new[] { item }; }