// Token: 0x060008FE RID: 2302 RVA: 0x00035AF4 File Offset: 0x00033CF4 private static void ConvertV7StickyOptions(FolderSyncState syncState) { XmlNode xmlNode = null; ByteArrayData byteArrayData = (ByteArrayData)syncState[CustomStateDatumType.CachedOptionsNode]; if (byteArrayData == null || byteArrayData.Data == null) { return; } using (MemoryStream memoryStream = new MemoryStream(byteArrayData.Data)) { using (WbxmlReader wbxmlReader = new WbxmlReader(memoryStream)) { xmlNode = wbxmlReader.ReadXmlDocument().FirstChild; if (xmlNode == null) { return; } } } using (MemoryStream memoryStream2 = new MemoryStream(50)) { WbxmlWriter wbxmlWriter = new WbxmlWriter(memoryStream2); XmlElement xmlElement = xmlNode.OwnerDocument.CreateElement("Collection", "AirSync:"); xmlElement.AppendChild(xmlNode); wbxmlWriter.WriteXmlDocumentFromElement(xmlElement); syncState[CustomStateDatumType.CachedOptionsNode] = new ByteArrayData(memoryStream2.ToArray()); } }
// Token: 0x06000C2F RID: 3119 RVA: 0x0003FD5C File Offset: 0x0003DF5C private void BuildMultiPartResponse(XmlDocument xmlResponse) { StringBuilder stringBuilder = null; if (base.MailboxLoggingEnabled && base.MailboxLogger != null) { stringBuilder = new StringBuilder(); stringBuilder.Append("----------------------- Multipart Response ---------------------\r\n"); } using (BinaryWriter binaryWriter = new BinaryWriter(base.OutputStream)) { AirSyncStream airSyncStream = new AirSyncStream(); base.Context.Response.BuildMultiPartWbXmlResponse(xmlResponse, airSyncStream); this.multipartStreams.Insert(0, airSyncStream); binaryWriter.Write(this.multipartStreams.Count); if (stringBuilder != null) { stringBuilder.AppendFormat("Number of Parts: {0}\r\n", this.multipartStreams.Count); } int num = 4 + this.multipartStreams.Count * 8; for (int i = 0; i < this.multipartStreams.Count; i++) { long length = this.multipartStreams[i].Length; binaryWriter.Write(num); binaryWriter.Write((int)length); if (stringBuilder != null) { stringBuilder.AppendFormat("Part {0}: offset {1}, size {2}\r\n", i, num, length); } num += (int)length; } for (int j = 0; j < this.multipartStreams.Count; j++) { StreamHelper.CopyStream(this.multipartStreams[j], base.OutputStream, (int)this.multipartStreams[j].Length); if (stringBuilder != null && j == 0) { stringBuilder.AppendLine(); this.multipartStreams[j].Seek(0L, SeekOrigin.Begin); using (WbxmlReader wbxmlReader = new WbxmlReader(this.multipartStreams[j])) { stringBuilder.Append(AirSyncUtility.BuildOuterXml(wbxmlReader.ReadXmlDocument(), !GlobalSettings.EnableMailboxLoggingVerboseMode)); } stringBuilder.AppendLine(); } } if (stringBuilder != null) { base.MailboxLogger.SetData(MailboxLogDataName.ResponseBody, stringBuilder.ToString()); } } }
XmlDocument IAirSyncRequest.LoadRequestDocument() { XmlDocument result = null; Stream inputStream = ((IAirSyncRequest)this).InputStream; if (string.Equals(this.httpRequest.ContentType, "application/vnd.ms-sync.wbxml", StringComparison.OrdinalIgnoreCase) && inputStream.Length > 0L) { inputStream.Seek(0L, SeekOrigin.Begin); using (WbxmlReader wbxmlReader = new WbxmlReader(inputStream)) { result = wbxmlReader.ReadXmlDocument(); } } return(result); }