@@ -1345,7 +1345,6 @@ public async Task Settings_MaxFrameSize_Larger_Server(string scheme)
13451345
13461346 [ Theory ]
13471347 [ MemberData ( nameof ( SupportedSchemes ) ) ]
1348- [ QuarantinedTest ( "https://github.com/dotnet/aspnetcore/issues/45811" ) ]
13491348 public async Task Settings_MaxHeaderListSize_Server ( string scheme )
13501349 {
13511350 var oneKbString = new string ( 'a' , 1024 ) ;
@@ -1354,26 +1353,27 @@ public async Task Settings_MaxHeaderListSize_Server(string scheme)
13541353 {
13551354 ConfigureKestrel ( webHostBuilder , scheme ) ;
13561355 webHostBuilder . ConfigureServices ( AddTestLogging )
1357- . Configure ( app => app . Run ( context => throw new NotImplementedException ( ) ) ) ;
1356+ . Configure ( app => app . Run ( context => context . Response . WriteAsync ( "Hello World" ) ) ) ;
13581357 } ) ;
13591358 using var host = await hostBuilder . StartAsync ( ) . DefaultTimeout ( ) ;
13601359
13611360 var url = host . MakeUrl ( scheme ) ;
13621361
13631362 using var client = CreateClient ( ) ;
1364- // There's no point in waiting for the settings to sync, the client doesn't check the header list size setting.
1365- // https://github.com/dotnet/runtime/blob/48a78bfa13e9c710851690621fc2c0fe1637802c/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Connection.cs#L467-L494
1363+ // Send an initial request to ensure the settings get synced before the real test.
1364+ var responseBody = await client . GetStringAsync ( url ) . DefaultTimeout ( ) ;
1365+ Assert . Equal ( "Hello World" , responseBody ) ;
13661366
13671367 var request = CreateRequestMessage ( HttpMethod . Get , url , content : null ) ;
13681368 // The default size limit is 32kb.
13691369 for ( var i = 0 ; i < 33 ; i ++ )
13701370 {
13711371 request . Headers . Add ( "header" + i , oneKbString + i ) ;
13721372 }
1373- var response = await client . SendAsync ( request ) . DefaultTimeout ( ) ;
1374- await host . StopAsync ( ) . DefaultTimeout ( ) ;
1373+ var ex = await Assert . ThrowsAsync < HttpRequestException > ( ( ) => client . SendAsync ( request ) . DefaultTimeout ( ) ) ;
1374+ Assert . Equal ( "The HTTP request headers length exceeded the server limit of 32768 bytes." , ex . Message ) ;
13751375
1376- Assert . Equal ( HttpStatusCode . RequestHeaderFieldsTooLarge , response . StatusCode ) ;
1376+ await host . StopAsync ( ) . DefaultTimeout ( ) ;
13771377 }
13781378
13791379 [ Theory ]
0 commit comments