public static void Reset() { UseStandardCodecs = true; UserAgent = "Ramone/1.0"; DefaultEncoding = Encoding.UTF8; SerializerSettings = new ObjectSerializerSettings(); }
public void CanSerializeSimpleClassWithEncoding( [Values("UTF-8|MyInt=10&MyString=Abc+%c3%86%c3%98%c3%85%5e%c3%bc", "Windows-1252|MyInt=10&MyString=Abc+%c6%d8%c5%5e%fc", "iso-8859-1|MyInt=10&MyString=Abc+%c6%d8%c5%5e%fc")] string charsetData) { string[] elements = charsetData.Split('|'); string charset = elements[0]; string expected = elements[1]; using (MemoryStream s = new MemoryStream()) using (StreamWriter w = new StreamWriter(s)) { SimpleData data = new SimpleData { MyInt = 10, MyString = "Abc ÆØÅ^ü" }; ObjectSerializerSettings settings = new ObjectSerializerSettings { Encoding = Encoding.GetEncoding(charset) }; new FormUrlEncodingSerializer(typeof(SimpleData)).Serialize(w, data, settings); w.Flush(); s.Seek(0, SeekOrigin.Begin); // Must always be written in plain old ASCII using (StreamReader r = new StreamReader(s, Encoding.ASCII)) { string result = r.ReadToEnd(); Assert.AreEqual(expected, result); } } }
public void CanSerializeWithDifferentSeparatorFormaters() { // Arrange var o = new { B = new string[] { "abc", "xyz" }, A = new Hashtable() }; ((Hashtable)o.A)["p"] = 17; ((Hashtable)o.A)["q"] = "abc"; ObjectSerializerSettings settings = new ObjectSerializerSettings { ArrayFormat = "{0}:{1}", DictionaryFormat = "{0}#{1}", PropertyFormat = "{0}+{1}" }; // Act string result = Serialize(o, settings); // Assert Assert.AreEqual("|B:0=abc|B:1=xyz|A#p=17|A#q=abc", result); }
public void CanSerializeFileWithInternationalCharactersInFilenameWhenSettingsAllowIt() { ObjectSerializerSettings settings = new ObjectSerializerSettings(); settings.EnableNonAsciiCharactersInMultipartFilenames = true; using (MemoryStream s = new MemoryStream()) { FileData data = new FileData { MyFile = new FileWithSpecialName("..\\..\\data1.txt", "Bøllefrø.txt") }; new MultipartFormDataSerializer(typeof(FileData)).Serialize(s, data, Encoding.UTF8, "xyzq", settings); string expected = @" --xyzq Content-Disposition: form-data; name=""MyFile""; filename=""Bxllefrx.txt""; filename*=UTF-8''B%c3%b8llefr%c3%b8.txt Æüî´`' --xyzq--"; s.Seek(0, SeekOrigin.Begin); using (StreamReader r = new StreamReader(s)) { string result = r.ReadToEnd(); Assert.AreEqual(expected, result); } } }
public string[] Serialize(string itemPath, object obj, ObjectSerializerSettings settings) { var filename = itemPath + extensions; var contents = JObject.FromObject(obj).ToString(); File.WriteAllText(filename, contents, Encoding.UTF8); return(new string[] { filename }); }
protected string Serialize(object data, ObjectSerializerSettings settings = null) { ObjectSerializer serializer = new ObjectSerializer(data.GetType()); ObjectToStringPropertyVisitor visitor = new ObjectToStringPropertyVisitor(); serializer.Serialize(data, visitor, settings); return(visitor.Result); }
public void Serialize(TextWriter writer, object data, ObjectSerializerSettings settings = null) { Condition.Requires(writer, "writer").IsNotNull(); Encoding enc = GetEncoding(settings); FormUrlEncodingPropertyVisitor v = new FormUrlEncodingPropertyVisitor(writer, enc); Serializer.Serialize(data, v, settings); }
/// <summary> /// Deserialize form-urlencoded data from reader. /// </summary> /// <param name="reader">A TextReader for reading url-encoded string input.</param> /// <param name="settings">Settings for deserialization.</param> /// <returns></returns> public object Deserialize(TextReader reader, ObjectSerializerSettings settings = null) { Condition.Requires(reader, "reader").IsNotNull(); string data = reader.ReadToEnd(); Encoding enc = GetEncoding(settings); NameValueCollection values = UrlUtility.ParseQueryString(data, enc); return(Serializer.Deserialize(values, settings)); }
public RamoneService(Uri baseUri) { BaseUri = baseUri; DefaultEncoding = Encoding.UTF8; CodecManager = new CodecManager(); AuthorizationDispatcher = new AuthorizationDispatcher(); RequestInterceptors = new RequestInterceptorSet(); SerializerSettings = new ObjectSerializerSettings(); AllowedRedirectsMap = new Dictionary <int, int>(); }
public MultipartFormDataPropertyVisitor(Stream s, Encoding encoding = null, string boundary = null, ObjectSerializerSettings settings = null) { if (encoding == null) { encoding = Encoding.UTF8; } Writer = new StreamWriter(s, encoding); Output = s; Boundary = (boundary != null ? boundary : Guid.NewGuid().ToString()); Settings = settings; }
public string[] GetItemPaths(string path, Type type, ObjectSerializerSettings settings) { //if (type == typeof(CremaDataTable)) //{ // throw new NotImplementedException(); //} //else //{ // var directories = DirectoryUtility.GetAllDirectories(path, "*", true); // var files = DirectoryUtility.GetAllFiles(path, "*.xml"); // return directories.Concat(files).OrderBy(item => item).ToArray(); //} throw new NotImplementedException(); }
public RamoneSession(IService service) { Service = service; UserAgent = service.UserAgent; BaseUri = Service.BaseUri; DefaultEncoding = service.DefaultEncoding; DefaultRequestMediaType = service.DefaultRequestMediaType; DefaultResponseMediaType = service.DefaultResponseMediaType; Cookies = new CookieContainer(); AuthorizationDispatcher = service.AuthorizationDispatcher.Clone(); RequestInterceptors = service.RequestInterceptors.Clone(); SerializerSettings = new ObjectSerializerSettings(service.SerializerSettings); AllowedRedirectsMap = new Dictionary <int, int>(); service.CopyRedirect(this); }
public void WriteTo(object entity, OpenRasta.Web.IHttpEntity response, string[] codecParameters) { using (TextWriter writer = new StreamWriter(response.Stream)) { Encoding enc = null; if (Context.Request.Headers["Accept-Charset"] != null) { enc = Encoding.GetEncoding(Context.Request.Headers["Accept-Charset"]); } ObjectSerializerSettings settings = new ObjectSerializerSettings { Encoding = enc }; FormUrlEncodingSerializer serializer = new FormUrlEncodingSerializer(entity.GetType()); serializer.Serialize(writer, entity, settings); } }
public void WhenSerializingItUsesSuppliedLocale() { // Arrange ClassWithLocaleDependentValues o = new ClassWithLocaleDependentValues { Dec = 10.5M, Flo = 20.12F, Dou = 13.23 }; // Act ObjectSerializerSettings settings = new ObjectSerializerSettings { Culture = CultureInfo.GetCultureInfo("da-DK") }; string result = Serialize(o, settings); // Assert Assert.AreEqual("|Dec=10,5|Flo=20,12|Dou=13,23", result); }
public void CanSerializeWithStandardFormaters() { // Arrange RamoneConfiguration.RegisterStandardSerializationFormaters(MyObjectSerializerFormaterManager); var o = new { Bool = false, Date = new DateTime(2012, 10, 12, 15, 14, 13), Url = new Uri("http://dr.dk") }; // Act ObjectSerializerSettings settings = new ObjectSerializerSettings { Formaters = MyObjectSerializerFormaterManager }; string result = Serialize(o, settings); // Assert Assert.AreEqual("|Bool=False|Date=2012-10-12T15:14:13|Url=http://dr.dk/", result); }
public void CanSerializeDictionaryAndClassesAndExcludeNullValues() { // Arrange var o = new { A = (int?)null, B = new Dictionary <string, object> { { "X", 100 }, { "Y", null } } }; ObjectSerializerSettings settings = new ObjectSerializerSettings { IncludeNullValues = false }; // Act string result = Serialize(o, settings); // Assert Assert.AreEqual("|B[X]=100", result); }
public void CanSerializeWithFormaters() { // Arrange MyObjectSerializerFormaterManager.AddFormater(typeof(Mail), new MailObjectSerializerFormater()); MyObjectSerializerFormaterManager.AddFormater(typeof(bool), new BoolObjectSerializerFormater()); var o = new { Mail = new Mail { Address = "*****@*****.**" }, Bool = true }; // Act ObjectSerializerSettings settings = new ObjectSerializerSettings { Formaters = MyObjectSerializerFormaterManager }; string result = Serialize(o, settings); // Assert Assert.AreEqual("|[email protected]|Bool=1", result); }
public void Validate(string itemPath, Type type, ObjectSerializerSettings settings) { throw new NotImplementedException(); }
public void Serialize(Stream s, object data, Encoding encoding = null, string boundary = null, ObjectSerializerSettings settings = null) { MultipartFormDataPropertyVisitor v = new MultipartFormDataPropertyVisitor(s, encoding, boundary, settings); Serializer.Serialize(data, v, settings); }
Encoding GetEncoding(ObjectSerializerSettings settings) { return(settings != null ? settings.Encoding ?? Encoding.UTF8 : Encoding.UTF8); }
public bool CanCreate(Type objectType, Value context, ObjectSerializerSettings settings, params object[] args) { throw new NotImplementedException(); }
public object Create(Type type, Value value, ObjectSerializerSettings settings, params object[] args) { throw new NotImplementedException(); }
public object Deserialize(Type type, Value value, ObjectSerializerSettings settings) { return(new Rectangle(value.AsTuple[0], value.AsTuple[1], value.AsTuple[2], value.AsTuple[3])); }
public T Deserialize <T>(Value value, ObjectSerializerSettings settings) { return((T)Deserialize(typeof(T), value, settings)); }
public Value Serialize(object @object, ObjectSerializerSettings settings) { var rect = (Rectangle)@object; return(new Value(new Value[] { rect.Top, rect.Left, rect.Width, rect.Height })); }
public bool Exists(string itemPath, Type type, ObjectSerializerSettings settings) { throw new NotImplementedException(); }
public string[] GetReferencedPath(string itemPath, Type type, ObjectSerializerSettings settings) { throw new NotImplementedException(); }
public string[] GetPath(string itemPath, Type type, ObjectSerializerSettings settings) { var filename = itemPath + extensions; return(new string[] { filename }); }