static string Dump(Uri url) { var fetcher = new WebUriFetcher(); var result = fetcher.Load(url); if (result.IsHtml) { try { var tmp = Path.GetTempFileName(); File.WriteAllText(tmp, result.Page.Content); return(string.Format("Successfully dumped HTML contents of {0} to {1}", url, tmp)); } catch (IOException ex) { return(ex.Message); } } else { if (result.Bytes.Success) { return(string.Format("Not HTML ({0}): {1}", result.Bytes.ContentType, url)); } else { return(result.Bytes.Exception.Message); } } }
public WebToIrc() { Chan = new ChanHandler(); Danbo = new DanboHandler(); Gelbo = new GelboHandler(); Wiki = new WikipediaHandler(); urlFetcher = new WebUriFetcher() { Cookies = new CookieContainer(), MaxSizeNonHtml = SizeConstants.NonHtmlDefault }; preHtmlHandlers = new Func <TitlingRequest, TitlingResult>[] { Danbo.HandleRequest, Gelbo.HandleRequest, Chan.HandleRequest }; // Generic instructions, for all URLs not matched by // previous instructions. var generic = new UrlLoadInstructions( uri => true, SizeConstants.HtmlDefault, true, GenericHandler ); urlInstructions = new UrlLoadInstructions[] { UrlLoadInstructions.Youtube, UrlLoadInstructions.Twitter, Wiki.LoadInstructions, generic }; }