Beispiel #1
0
        public T Body <T>() where T : class
        {
            if (RawBody == null)
            {
                return(null);                //Maybe throw an exception here ???
            }

            //return RawBody.ToObject<T>();
            return(JsonConvert.DeserializeObject <T>(RawBody.ToString(), new SobjectConverter()));
            // return JsonConvert.DeserializeObject<T>(RawBody.ToString(), new SobjectCreationConverter());
        }
Beispiel #2
0
        private void parseBody()
        {
            pageDescriptions = new Dictionary <int, PfsPageByte>();
            int pageID = Header.Pointer.PageID == 1 ? 0 : Header.Pointer.PageID;

            // Skip first 4
            // TODO: Should treat this as the record it is, instead of misusing RawBody
            foreach (byte pageByte in RawBody.Skip(4).Take(8088))
            {
                var pfsPageDescription = new PfsPageByte(pageByte, pageID);
                pageDescriptions.Add(pageID++, pfsPageDescription);
            }
        }
Beispiel #3
0
 public string ReadString(ref int Index)
 {
     if (IsCorrupted)
     {
         return(string.Empty);
     }
     if (Protocol == HProtocols.Modern || (Protocol == HProtocols.Ancient && Destination == HDestinations.Server))
     {
         int    SLength = ReadShort(ref Index);
         byte[] SData   = ByteUtils.CopyBlock(Body, (Index += SLength) - SLength, SLength);
         return(Encoding.Default.GetString(SData));
     }
     else if (Protocol == HProtocols.Ancient && Destination == HDestinations.Client)
     {
         string Chunk = RawBody.Substring(Index).Split((char)2)[0];
         Index += Chunk.Length + 1;
         return(Chunk);
     }
     else
     {
         return(string.Empty);
     }
 }
 /// <summary>
 /// Gets the body without control characters.
 /// </summary>
 /// <returns>System.String.</returns>
 public string GetBodyText() => new string(RawBody.Where(c => char.IsWhiteSpace(c) || !char.IsControl(c)).ToArray());