public WebResponse GetResource(Uri absoluteUri) { WebRequest request = new ExtendedHttpWebRequest(absoluteUri); WebResponse response = request.GetResponse(); return(response); }
internal void LoadSheet() { var absoluteUri = this.AbsoluteHref; if (absoluteUri == null) { return; } if (absoluteUri.IsFile) { try { _succeededDownload = true; StreamReader str = new StreamReader(absoluteUri.LocalPath, Encoding.Default, true); _sheetContent = str.ReadToEnd(); str.Close(); } catch { _succeededDownload = false; _sheetContent = string.Empty; } } else { WebRequest request = new ExtendedHttpWebRequest(AbsoluteHref); _triedDownload = true; try { WebResponse response = request.GetResponse(); _succeededDownload = true; StreamReader str = new StreamReader(response.GetResponseStream(), Encoding.Default, true); _sheetContent = str.ReadToEnd(); str.Close(); } catch { _succeededDownload = false; _sheetContent = string.Empty; } } }
internal void LoadSheet() { //WebRequest request = (WebRequest)WebRequest.Create(AbsoluteHref); WebRequest request = new ExtendedHttpWebRequest(AbsoluteHref); _triedDownload = true; try { WebResponse response = request.GetResponse(); _succeededDownload = true; StreamReader str = new StreamReader(response.GetResponseStream(), Encoding.Default, true); _sheetContent = str.ReadToEnd(); str.Close(); } catch { _succeededDownload = false; _sheetContent = string.Empty; } }
/// <summary> /// Collect the text in all script elements, build engine and execute. /// </summary> private void ExecuteScripts() { Hashtable codeByMimeType = new Hashtable(); StringBuilder codeBuilder; SvgDocument document = (SvgDocument)window.Document; XmlNodeList scripts = document.GetElementsByTagName("script", SvgDocument.SvgNamespace); StringBuilder code = new StringBuilder(); foreach (XmlElement script in scripts) { string type = script.GetAttribute("type"); if (GetScriptEngineByMimeType(type) != null) { // make sure we have a StringBuilder for this MIME type if (!codeByMimeType.Contains(type)) { codeByMimeType[type] = new StringBuilder(); } // grab this MIME type's codeBuilder codeBuilder = (StringBuilder)codeByMimeType[type]; if (script.HasChildNodes) { // process each child that is text node or a CDATA section foreach (XmlNode node in script.ChildNodes) { if (node.NodeType == XmlNodeType.CDATA || node.NodeType == XmlNodeType.Text) { codeBuilder.Append(node.Value); } } } if (script.HasAttribute("href", "http://www.w3.org/1999/xlink")) { string href = script.GetAttribute("href", "http://www.w3.org/1999/xlink"); Uri baseUri = new Uri(((XmlDocument)((ISvgWindow)window).Document).BaseURI); Uri hUri = new Uri(baseUri, href); ExtendedHttpWebRequestCreator creator = new ExtendedHttpWebRequestCreator(); ExtendedHttpWebRequest request = (ExtendedHttpWebRequest)creator.Create(hUri); ExtendedHttpWebResponse response = (ExtendedHttpWebResponse)request.GetResponse(); Stream rs = response.GetResponseStream(); StreamReader sr = new StreamReader(rs); codeBuilder.Append(sr.ReadToEnd()); rs.Close(); } } } // execute code for all script engines foreach (string mimeType in codeByMimeType.Keys) { codeBuilder = (StringBuilder)codeByMimeType[mimeType]; if (codeBuilder.Length > 0) { ScriptEngine engine = GetScriptEngineByMimeType(mimeType); engine.Execute(codeBuilder.ToString()); } } // load the root element ((ISvgWindow)window).Document.RootElement.DispatchEvent(new Event("SVGLoad", false, true)); }