@@ -1350,26 +1350,27 @@ public async Task Settings_MaxHeaderListSize_Server(string scheme)
1350
1350
{
1351
1351
ConfigureKestrel ( webHostBuilder , scheme ) ;
1352
1352
webHostBuilder . ConfigureServices ( AddTestLogging )
1353
- . Configure ( app => app . Run ( context => throw new NotImplementedException ( ) ) ) ;
1353
+ . Configure ( app => app . Run ( context => context . Response . WriteAsync ( "Hello World" ) ) ) ;
1354
1354
} ) ;
1355
1355
using var host = await hostBuilder . StartAsync ( ) . DefaultTimeout ( ) ;
1356
1356
1357
1357
var url = host . MakeUrl ( scheme ) ;
1358
1358
1359
1359
using var client = CreateClient ( ) ;
1360
- // There's no point in waiting for the settings to sync, the client doesn't check the header list size setting.
1361
- // https://github.com/dotnet/runtime/blob/48a78bfa13e9c710851690621fc2c0fe1637802c/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Connection.cs#L467-L494
1360
+ // Send an initial request to ensure the settings get synced before the real test.
1361
+ var responseBody = await client . GetStringAsync ( url ) . DefaultTimeout ( ) ;
1362
+ Assert . Equal ( "Hello World" , responseBody ) ;
1362
1363
1363
1364
var request = CreateRequestMessage ( HttpMethod . Get , url , content : null ) ;
1364
1365
// The default size limit is 32kb.
1365
1366
for ( var i = 0 ; i < 33 ; i ++ )
1366
1367
{
1367
1368
request . Headers . Add ( "header" + i , oneKbString + i ) ;
1368
1369
}
1369
- var response = await client . SendAsync ( request ) . DefaultTimeout ( ) ;
1370
- await host . StopAsync ( ) . DefaultTimeout ( ) ;
1370
+ var ex = await Assert . ThrowsAsync < HttpRequestException > ( ( ) => client . SendAsync ( request ) . DefaultTimeout ( ) ) ;
1371
+ Assert . Equal ( "The HTTP request headers length exceeded the server limit of 32768 bytes." , ex . Message ) ;
1371
1372
1372
- Assert . Equal ( HttpStatusCode . RequestHeaderFieldsTooLarge , response . StatusCode ) ;
1373
+ await host . StopAsync ( ) . DefaultTimeout ( ) ;
1373
1374
}
1374
1375
1375
1376
[ Theory ]
0 commit comments