Example #1
0
        public static T Deserialize <T>(this ITextDeserializer deserializer,
                                        TextReader textReader,
                                        DeserializeOptions options = null)
        {
            options = options ?? new DeserializeOptions();

            if (options.ExpectedBaseType == null)
            {
                options.ExpectedBaseType = typeof(T);
            }

            return((T)deserializer.Deserialize(textReader, options));
        }
Example #2
0
        public static object DeserializeString(this ITextDeserializer deserializer,
                                               string serializedObj,
                                               DeserializeOptions options = null)
        {
            if (deserializer == null)
            {
                throw new ArgumentNullException(nameof(deserializer));
            }

            if (serializedObj == null)
            {
                throw new ArgumentNullException(nameof(serializedObj));
            }

            using (var textReader = new StringReader(serializedObj))
            {
                return(deserializer.Deserialize(textReader, options));
            }
        }
 public IDeserializationContext GetDeserializationContext(DeserializeOptions options)
 {
     return new ClientDeserializationContext(this.clientTypeMapper, this.client);
 }
 public IDeserializationContext GetDeserializationContext(DeserializeOptions options)
 {
     options = options ?? new DeserializeOptions();
     return new ServerDeserializationContext(this.typeMapper, this.resourceResolver, options.TargetNode, this.container);
 }
Example #5
0
        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);
            }
        }
 public IDeserializationContext GetDeserializationContext(DeserializeOptions options)
 {
     options = options ?? new DeserializeOptions();
     return new ServerDeserializationContext(uriResolver.TypeMapper, resourceResolver, options.TargetNode, nancyContext);
 }