Skip to content

Commit 3cc366d

Browse files
committed
Update
1 parent a196a6a commit 3cc366d

File tree

3 files changed

+26
-1
lines changed

3 files changed

+26
-1
lines changed

src/Servers/IIS/IIS/src/Core/IISHttpContext.FeatureCollection.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ protected Task CompleteResponseBodyAsync()
206206
return ResponsePipeWrapper.CompleteAsync().AsTask();
207207
}
208208

209-
return Task.CompletedTask;
209+
return AsyncIO.FlushAsync(moreData: false).AsTask();
210210
}
211211

212212
bool IHttpUpgradeFeature.IsUpgradableRequest => true;

src/Servers/IIS/IIS/test/Common.FunctionalTests/Inprocess/HelloWorldTests.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,11 @@ public async Task HelloWorld_InProcess()
2626

2727
Assert.Equal("?query", await _fixture.Client.GetStringAsync("/HelloWorld/Query%3F%3F?query"));
2828
}
29+
30+
[ConditionalFact]
31+
public async Task CheckCompleteAsync()
32+
{
33+
await _fixture.Client.GetStringAsync("/CompleteAsync");
34+
}
2935
}
3036
}

src/Servers/IIS/IIS/test/testassets/InProcessWebSite/Startup.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1315,6 +1315,25 @@ public async Task Reset_DuringRequestBody_Resets(HttpContext httpContext)
13151315
}
13161316
}
13171317

1318+
public Task Goaway(HttpContext httpContext)
1319+
{
1320+
httpContext.Response.Headers["Connection"] = "close";
1321+
return Task.CompletedTask;
1322+
}
1323+
1324+
private TaskCompletionSource<object> _completeAsync = new TaskCompletionSource<object>();
1325+
public async Task CompleteAsync(HttpContext httpContext)
1326+
{
1327+
await httpContext.Response.CompleteAsync();
1328+
await _completeAsync.Task;
1329+
}
1330+
1331+
public Task CompleteAsync_Completed(HttpContext httpContext)
1332+
{
1333+
_completeAsync.TrySetResult(null);
1334+
return Task.CompletedTask;
1335+
}
1336+
13181337
public async Task Reset_DuringRequestBody_Resets_Complete(HttpContext httpContext)
13191338
{
13201339
await _resetDuringRequestBodyResetsCts.Task;

0 commit comments

Comments
 (0)