/// <summary> /// Returns debug info /// </summary> /// <returns></returns> public override string ToString() { return("[P2PMessage]\r\n" + header.ToString() + String.Format(System.Globalization.CultureInfo.InvariantCulture, "FOOTER : {1:x} ({1})\r\n", Footer.ToString(System.Globalization.CultureInfo.InvariantCulture), Footer) + String.Format(System.Globalization.CultureInfo.InvariantCulture, "DATA : {0}\r\n", ((InnerMessage != null) ? InnerMessage.ToString() : String.Format("Binary data: {0:D} bytes", (InnerBody == null ? 0 : InnerBody.Length))))); }
public override string ToString() { string contentEncoding = string.Empty; string debugString = string.Empty; if (ContentHeaders.ContainsKey(MIMEContentHeaders.ContentTransferEncoding) && InnerBody != null) { contentEncoding = ContentHeaders[MIMEContentHeaders.ContentTransferEncoding].Value; } byte[] readableBinaries = GetBytes(); switch (contentEncoding) { case MIMEContentTransferEncoding.Binary: int payLoadLength = 0; payLoadLength = InnerBody.Length; byte[] headers = new byte[readableBinaries.Length - payLoadLength]; Buffer.BlockCopy(readableBinaries, 0, headers, 0, headers.Length); if (InnerBody != null && InnerMessage == null) { if (ContentHeaders.ContainsKey(MIMEContentHeaders.BridgingOffsets)) { debugString = Encoding.UTF8.GetString(headers) + "\r\nMulti-Package Binary Data: {Length: " + payLoadLength + "}"; } else { debugString = Encoding.UTF8.GetString(headers) + "\r\nUnknown Binary Data: {Length: " + payLoadLength + "}"; } } if (InnerBody != null && InnerMessage != null) { debugString = Encoding.UTF8.GetString(headers) + "\r\n" + InnerMessage.ToString(); } break; default: debugString = Encoding.UTF8.GetString(readableBinaries); break; } return(debugString); }