using System; using System.IO; using ProtoBuf; using ServiceStack.Text; namespace MediaBrowser.ApiInteraction { public static class DataSerializer { public static T DeserializeJsonFromStream(Stream stream) { return JsonSerializer.DeserializeFromStream(stream); } public static T DeserializeJsvFromStream(Stream stream) { return TypeSerializer.DeserializeFromStream(stream); } public static object DeserializeJsvFromStream(Stream stream, Type type) { return TypeSerializer.DeserializeFromStream(type, stream); } public static object DeserializeJsonFromStream(Stream stream, Type type) { return JsonSerializer.DeserializeFromStream(type, stream); } public static T DeserializeProtobufFromStream(Stream stream) { return Serializer.Deserialize(stream); } public static void Configure() { JsConfig.DateHandler = ServiceStack.Text.JsonDateHandler.ISO8601; JsConfig.ExcludeTypeInfo = true; JsConfig.IncludeNullValues = false; } } public enum SerializationFormat { Json, Jsv, Protobuf } }