Skip to content

Commit

Permalink
fix(NetworkingModule): fixes regression for incremental network proce…
Browse files Browse the repository at this point in the history
…ssing (#815)
  • Loading branch information
rozele authored Oct 21, 2016
1 parent 56728da commit 1ed199c
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -293,16 +293,17 @@ private async Task ProcessRequestAsync(

if (useIncrementalUpdates && responseType == "text")
{
var length = response.Content.Headers.ContentLength;
#if WINDOWS_UWP
var length = response.Content.Headers.ContentLength;
var inputStream = await response.Content.ReadAsInputStreamAsync().AsTask().ConfigureAwait(false);
var stream = inputStream.AsStreamForRead();
#else
var length = (ulong?)response.Content.Headers.ContentLength;
var stream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false);
#endif
using (stream)
{
await ProcessResponseIncrementalAsync(requestId, stream, (ulong)length, timeoutSource.Token).ConfigureAwait(false);
await ProcessResponseIncrementalAsync(requestId, stream, length, timeoutSource.Token).ConfigureAwait(false);
OnRequestSuccess(requestId);
}
#if WINDOWS_UWP
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,7 @@ public void NetworkingModule_Response_Headers()

onComplete.WaitOne();
Assert.IsNotNull(onCompleteData);
AssertNotRequestError(onCompleteData);
Assert.AreEqual(42, onCompleteData[0].Value<int>());
Assert.IsNull(onCompleteData[1].Value<string>());
}
Expand Down Expand Up @@ -331,6 +332,7 @@ public void NetworkingModule_Response_Content_Base64()
[TestMethod]
public void NetworkingModule_Response_Content_UseIncremental()
{
var onCompleteData = default(JArray);
var onReceived = new AutoResetEvent(false);
var builder = new StringBuilder();
var size = 32 * 1027;
Expand Down Expand Up @@ -363,6 +365,7 @@ public void NetworkingModule_Response_Content_UseIncremental()
}
else if (eventName == "didCompleteNetworkResponse")
{
onCompleteData = args[1] as JArray;
onReceived.Set();
}
}
Expand All @@ -372,9 +375,24 @@ public void NetworkingModule_Response_Content_UseIncremental()
module.sendRequest("get", uri, 0, null, null, "text", true, 1000);

onReceived.WaitOne();
Assert.IsNotNull(onCompleteData);
AssertNotRequestError(onCompleteData);
Assert.AreEqual(expected, builder.ToString());
}

private static void AssertNotRequestError(JArray onCompleteData)
{
if (onCompleteData.Count != 2 && onCompleteData.Count != 3)
{
Assert.Fail("Invalid completion response from NetworkingModule.");
}

if (onCompleteData.Count != 2)
{
Assert.Fail("Network request failed with message: " + onCompleteData[1]);
}
}

private static NetworkingModule CreateNetworkingModule(IHttpClient httpClient, IInvocationHandler handler)
{
var context = new ReactContext();
Expand Down

0 comments on commit 1ed199c

Please sign in to comment.