/// <summary> /// Adds StringContent containing a json string of the supplied body object /// </summary> /// <typeparam name="T">The type of body</typeparam> /// <param name="request">The SolidHttpRequest</param> /// <param name="body">The request body object</param> /// <param name="settings">(Optional) DataContractSerializerSettings to use to serialize the body object</param> /// <returns>SolidHttpRequest</returns> public static ISolidHttpRequest WithXmlContent <T>(this ISolidHttpRequest request, T body, DataContractSerializerSettings settings = null) { using (var ms = new MemoryStream()) { var ser = new DataContractSerializer(typeof(T), settings ?? request.GetXmlSerializerSettings()); ser.WriteObject(ms, body); ms.Position = 0; using (var reader = new StreamReader(ms)) { var content = new StringContent(reader.ReadToEnd(), Encoding.UTF8, "application/xml"); return(request.WithContent(content)); } } }