public void Response_Deserialize_Serialize() { var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("CacheCow.Client.Tests.Data.Response.bin"); var serializer = new MessageContentHttpMessageSerializer(); var response = serializer.DeserializeToResponseAsync(stream).Result; var memoryStream = new MemoryStream(); serializer.SerializeAsync(TaskHelpers.FromResult(response), memoryStream).Wait(); memoryStream.Position = 0; var response2 = serializer.DeserializeToResponseAsync(memoryStream).Result; var result = DeepComparer.Compare(response, response2); if(result.Count()>0) Assert.Fail(string.Join("\r\n", result)); }
public void IntegrationTest_Deserialize() { var fileStream = new FileStream("msg.bin", FileMode.Open); var defaultHttpResponseMessageSerializer = new MessageContentHttpMessageSerializer(); var httpResponseMessage = defaultHttpResponseMessageSerializer.DeserializeToResponseAsync(fileStream).Result; fileStream.Close(); }
public void Response_Deserialize_Serialize_File() { var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("CacheCow.Client.Tests.Data.Response.cs"); var serializer = new MessageContentHttpMessageSerializer(); var response = serializer.DeserializeToResponseAsync(stream).Result; using(var fileStream = new FileStream("response.tmp", FileMode.Create)) { serializer.SerializeAsync(TaskHelpers.FromResult(response), fileStream).Wait(); fileStream.Position = 0; var response2 = serializer.DeserializeToResponseAsync(fileStream).Result; var result = DeepComparer.Compare(response, response2); if (result.Count() > 0) Assert.Fail(string.Join("\r\n", result)); } }
public bool TryGetValue(CacheKey key, out HttpResponseMessage response) { response = null; var result = _responseCache.Get(key.HashBase64); if (result != null) { response = _messageSerializer.DeserializeToResponseAsync(new MemoryStream((byte[])result)).Result; } return(result != null); }
public async Task <HttpResponseMessage> GetValueAsync(CacheKey key) { var result = _responseCache.Get(key.HashBase64); if (result == null) { return(null); } return(await _messageSerializer.DeserializeToResponseAsync(new MemoryStream((byte[])result))); }
public bool TryGetValue(CacheKey key, out HttpResponseMessage response) { response = null; var result = _responseCache.Get(key.HashBase64); if (result != null) { Func <HttpResponseMessage> funky = () => _messageSerializer.DeserializeToResponseAsync(new MemoryStream((byte[])result)).Result; response = Task.Factory.StartNew(funky).Result; } return(result != null); }
public void IntegrationTest_Serialize_Deserialize() { var httpClient = new HttpClient(); var httpResponseMessage = httpClient.GetAsync("http://google.com").Result; var contentLength = httpResponseMessage.Content.Headers.ContentLength; // access to make sure is populated http://aspnetwebstack.codeplex.com/discussions/388196 var memoryStream = new MemoryStream(); var defaultHttpResponseMessageSerializer = new MessageContentHttpMessageSerializer(); defaultHttpResponseMessageSerializer.SerializeAsync(TaskHelpers.FromResult(httpResponseMessage), memoryStream).Wait(); memoryStream.Position = 0; var httpResponseMessage2 = defaultHttpResponseMessageSerializer.DeserializeToResponseAsync(memoryStream).Result; Assert.AreEqual(httpResponseMessage.StatusCode, httpResponseMessage2.StatusCode, "StatusCode"); Assert.AreEqual(httpResponseMessage.ReasonPhrase, httpResponseMessage2.ReasonPhrase, "ReasonPhrase"); Assert.AreEqual(httpResponseMessage.Version, httpResponseMessage2.Version, "Version"); Assert.AreEqual(httpResponseMessage.Headers.ToString(), httpResponseMessage2.Headers.ToString(), "Headers.ToString()"); Assert.AreEqual(httpResponseMessage.Content.ReadAsStringAsync().Result, httpResponseMessage2.Content.ReadAsStringAsync().Result, "Content"); Assert.AreEqual(httpResponseMessage.Content.Headers.ToString(), httpResponseMessage2.Content.Headers.ToString(), "Headers.ToString()"); }