Pomona.PomonaContext.Deserialize C# (CSharp) Method

Deserialize() private method

private Deserialize ( StructuredType expectedBaseType, object patchedObject = null ) : object
expectedBaseType StructuredType
patchedObject object
return object
        private object Deserialize(StructuredType expectedBaseType, object patchedObject = null)
        {
            if (!Request.Body.CanSeek)
            {
                var memStream = new MemoryStream();
                Request.Body.CopyTo(memStream);
                memStream.Seek(0, SeekOrigin.Begin);
                Request.Body = memStream;
            }
            if (Request.Body.Position != 0)
                Request.Body.Seek(0, SeekOrigin.Begin);

            using (var textReader = new StreamReader(Request.Body))
            {
                var deserializer = Session.GetInstance<ITextDeserializer>();
                var options = new DeserializeOptions()
                {
                    Target = patchedObject,
                    ExpectedBaseType = expectedBaseType,
                    TargetNode = Node
                };
                return deserializer.Deserialize(textReader, options);
            }
        }