public static byte[] GetBytes(HttpRequestHead header, IDictionary pList) { var plistWriter = new System.Runtime.Serialization.Plists.BinaryPlistWriter(); string content = System.Runtime.Serialization.Plists.PlistXmlDocument.CreateDocument(pList); var sb = new StringBuilder(); sb.AppendFormat("{0} {1} /1.1 HTTP/{2}.{3}\r\n", header.Method, header.Path, header.Version.Major, header.Version.Minor); if (!string.IsNullOrEmpty(content)) { header.Headers["Content-Length"] = Encoding.UTF8.GetByteCount(content).ToString(); header.Headers["Content-Type"] = @"text/x-apple-plist+xml"; } foreach (var pair in header.Headers) { foreach (var line in pair.Value.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries)) { sb.AppendFormat("{0}: {1}\r\n", pair.Key, line); } } sb.Append("\r\n"); sb.Append(content); sb.Append("\r\n"); return(Encoding.UTF8.GetBytes(sb.ToString())); }
public static byte[] GetBytes(HttpRequestHead header, IDictionary pList) { var plistWriter = new System.Runtime.Serialization.Plists.BinaryPlistWriter(); string content = System.Runtime.Serialization.Plists.PlistXmlDocument.CreateDocument(pList); var sb = new StringBuilder(); sb.AppendFormat("{0} {1} /1.1 HTTP/{2}.{3}\r\n",header.Method,header.Path,header.Version.Major,header.Version.Minor); if (!string.IsNullOrEmpty(content)) { header.Headers["Content-Length"] = Encoding.UTF8.GetByteCount(content).ToString(); header.Headers["Content-Type"] = @"text/x-apple-plist+xml"; } foreach (var pair in header.Headers) foreach (var line in pair.Value.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries)) sb.AppendFormat("{0}: {1}\r\n", pair.Key, line); sb.Append("\r\n"); sb.Append(content); sb.Append("\r\n"); return Encoding.UTF8.GetBytes(sb.ToString()); }