comparison Xml/Socket.cs @ 109:0fc3f42a8555

Small improvements, return TCPSocket in HTTPContext if applicable
author Ivo Smits <Ivo@UCIS.nl>
date Mon, 03 Nov 2014 18:29:58 +0100
parents 3bfb3ee64362
children
comparison
equal deleted inserted replaced
108:819fb56a56ea 109:0fc3f42a8555
56 Buffer.Seek(0, SeekOrigin.Begin); 56 Buffer.Seek(0, SeekOrigin.Begin);
57 57
58 return Buffer; 58 return Buffer;
59 } 59 }
60 public virtual XmlDocument ReadDocument() { 60 public virtual XmlDocument ReadDocument() {
61 MemoryStream Buffer = ReadRawDocument(); 61 MemoryStream Buffer = ReadRawDocument();
62 try { 62 XmlDocument Doc = new XmlDocument();
63 XmlDocument Doc = new XmlDocument(); 63 try {
64 XmlReader XMLReader = XmlReader.Create(Buffer, pXMLReaderSettings); 64 using (XmlReader XMLReader = XmlReader.Create(Buffer, pXMLReaderSettings)) Doc.Load(XMLReader);
65 Doc.Load(XMLReader); 65 } catch (Exception ex) {
66 XMLReader.Close(); 66 Buffer.Seek(0, SeekOrigin.Begin);
67 return Doc; 67 throw new IOException("Could not parse XML document: \"" + Encoding.UTF8.GetString(Buffer.ToArray()) + "\"", ex);
68 } catch (Exception ex) {
69 Buffer.Seek(0, SeekOrigin.Begin);
70 throw new IOException("Could not parse XML document: \"" + Encoding.UTF8.GetString(Buffer.ToArray()) + "\"", ex);
71 }
72 } 68 }
69 return Doc;
70 }
73 71
74 protected virtual void CreateWriter() { 72 protected virtual void CreateWriter() {
75 pWriter = XmlWriter.Create(pStream, WriterSettings); 73 pWriter = XmlWriter.Create(pStream, WriterSettings);
76 } 74 }
77 protected virtual void CloseWriter() { 75 protected virtual void CloseWriter() {