Skip to content

Commit a7227d0

Browse files
committed
Wait for x
1 parent 0b9b3ff commit a7227d0

File tree

1 file changed

+8
-13
lines changed

1 file changed

+8
-13
lines changed

AngleSharp.Scripting.JavaScript/Dom/XmlHttpRequest.cs

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,12 @@ public sealed class XmlHttpRequest : XmlHttpRequestEventTarget
2424
{
2525
#region Fields
2626

27+
const Int32 BufferSize = 16384;
28+
2729
readonly Dictionary<String, String> _headers;
2830
readonly IWindow _window;
2931
readonly CancellationTokenSource _cancel;
3032

31-
DocumentRequest _request;
3233
RequesterState _readyState;
3334
Int32 _timeout;
3435
Boolean _credentials;
@@ -343,11 +344,9 @@ async Task Receive(IDocumentLoader loader, DocumentRequest request, Cancellation
343344
{
344345
try
345346
{
346-
var response = await loader.LoadAsync(request, cancel).ConfigureAwait(false);
347-
348-
if (response != null)
347+
using (var response = await loader.LoadAsync(request, cancel).ConfigureAwait(false))
349348
{
350-
using (response)
349+
if (response != null)
351350
{
352351
foreach (var header in response.Headers)
353352
_headers[header.Key] = header.Value;
@@ -358,22 +357,18 @@ async Task Receive(IDocumentLoader loader, DocumentRequest request, Cancellation
358357

359358
using (var ms = new MemoryStream())
360359
{
361-
await response.Content.CopyToAsync(ms, 16384, cancel).ConfigureAwait(false);
360+
await response.Content.CopyToAsync(ms, BufferSize, cancel).ConfigureAwait(false);
362361
ms.Seek(0, SeekOrigin.Begin);
363362

364363
using (var reader = new StreamReader(ms))
365364
_responseText = reader.ReadToEnd();
366365
}
366+
367+
Fire(LoadEndEvent);
367368
}
368369

369-
Fire(LoadEndEvent);
370-
ReadyState = RequesterState.Done;
371-
Fire(LoadEvent);
372-
}
373-
else
374-
{
375370
ReadyState = RequesterState.Done;
376-
Fire(ErrorEvent);
371+
Fire(response == null ? ErrorEvent : LoadEvent);
377372
}
378373
}
379374
catch (TaskCanceledException)

0 commit comments

Comments
 (0)