5 implementations of IHttpResponseTrailersFeature
Microsoft.AspNetCore.Server.HttpSys (1)
RequestProcessing\RequestContext.FeatureCollection.cs (1)
36IHttpResponseTrailersFeature,
Microsoft.AspNetCore.Server.IIS (1)
Core\IISHttpContext.FeatureCollection.cs (1)
37IHttpResponseTrailersFeature,
Microsoft.AspNetCore.Server.Kestrel.Core (2)
Internal\Http2\Http2Stream.FeatureCollection.cs (1)
16IHttpResponseTrailersFeature,
Internal\Http3\Http3Stream.FeatureCollection.cs (1)
15IHttpResponseTrailersFeature
Microsoft.AspNetCore.TestHost (1)
ResponseTrailersFeature.cs (1)
9internal sealed class ResponseTrailersFeature : IHttpResponseTrailersFeature
82 references to IHttpResponseTrailersFeature
InMemory.FunctionalTests (51)
Http2\Http2ConnectionTests.cs (2)
331var trailersFeature = context.Features.Get<IHttpResponseTrailersFeature>();
Http2\Http2StreamTests.cs (19)
2310var trailers = context.Features.Get<IHttpResponseTrailersFeature>().Trailers; 2473Assert.Throws<InvalidOperationException>(() => context.Features.Get<IHttpResponseTrailersFeature>().Trailers.ETag = "Custom 你好 Tag"); 2474Assert.Throws<InvalidOperationException>(() => context.Features.Get<IHttpResponseTrailersFeature>().Trailers.Accept = "Custom 你好 Tag"); 2516context.Features.Get<IHttpResponseTrailersFeature>().Trailers.ETag = "Custom 你好 Tag"; 2517context.Features.Get<IHttpResponseTrailersFeature>().Trailers.Accept = "Custom 你好 Accept"; 4748Assert.True(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly); 4804Assert.True(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly); 4872Assert.False(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly); 4926Assert.True(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly); 4988Assert.True(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly); 5047Assert.True(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly); 5168Assert.True(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly); 5245Assert.True(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly); 5318Assert.False(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly); 5389Assert.False(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly); 5461Assert.True(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly); 5548Assert.True(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly); 5635Assert.True(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly); 5724Assert.True(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly);
Http3\Http3ConnectionTests.cs (2)
595var trailersFeature = context.Features.Get<IHttpResponseTrailersFeature>();
Http3\Http3StreamTests.cs (28)
832var trailersFeature = context.Features.Get<IHttpResponseTrailersFeature>(); 862var trailersFeature = context.Features.Get<IHttpResponseTrailersFeature>(); 896var trailersFeature = context.Features.Get<IHttpResponseTrailersFeature>(); 956var trailersFeature = context.Features.Get<IHttpResponseTrailersFeature>(); 988var trailersFeature = context.Features.Get<IHttpResponseTrailersFeature>(); 1019Assert.Throws<InvalidOperationException>(() => context.Features.Get<IHttpResponseTrailersFeature>().Trailers.ETag = "Custom 你好 Tag"); 1020Assert.Throws<InvalidOperationException>(() => context.Features.Get<IHttpResponseTrailersFeature>().Trailers.Accept = "Custom 你好 Tag"); 1050context.Features.Get<IHttpResponseTrailersFeature>().Trailers.ETag = "Custom 你好 Tag"; 1051context.Features.Get<IHttpResponseTrailersFeature>().Trailers.Accept = "Custom 你好 Accept"; 1146Assert.True(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly); 1195Assert.True(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly); 1249Assert.False(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly); 1296Assert.True(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly); 1345Assert.True(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly); 1397Assert.True(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly); 1497Assert.True(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly); 1552Assert.True(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly); 1609Assert.False(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly); 1667Assert.False(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly); 1722Assert.True(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly); 1783Assert.True(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly); 1845Assert.True(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly); 1910Assert.True(context.Features.Get<IHttpResponseTrailersFeature>().Trailers.IsReadOnly);
Interop.FunctionalTests (2)
Http3\Http3RequestTests.cs (2)
1344var feature = context.Features.Get<IHttpResponseTrailersFeature>();
Microsoft.AspNetCore.Http.Abstractions (6)
Extensions\ResponseTrailerExtensions.cs (4)
33var feature = response.HttpContext.Features.Get<IHttpResponseTrailersFeature>(); 46var feature = response.HttpContext.Features.Get<IHttpResponseTrailersFeature>();
HttpResponse.cs (2)
173var feature = _response.HttpContext.Features.Get<IHttpResponseTrailersFeature>();
Microsoft.AspNetCore.HttpLogging (1)
HttpLoggingFields.cs (1)
119/// Flag for logging the HTTP Response <see cref="IHttpResponseTrailersFeature.Trailers"/>.
Microsoft.AspNetCore.Server.HttpSys (3)
RequestProcessing\RequestContext.FeatureCollection.cs (2)
385internal IHttpResponseTrailersFeature? GetResponseTrailersFeature() 611IHeaderDictionary IHttpResponseTrailersFeature.Trailers
StandardFeatureCollection.cs (1)
30{ typeof(IHttpResponseTrailersFeature), ctx => ctx.GetResponseTrailersFeature() },
Microsoft.AspNetCore.Server.IIS (3)
Core\IISHttpContext.FeatureCollection.cs (2)
466internal IHttpResponseTrailersFeature? GetResponseTrailersFeature() 476IHeaderDictionary IHttpResponseTrailersFeature.Trailers
Core\IISHttpContext.Features.cs (1)
30private static readonly Type IHttpResponseTrailersFeature = typeof(global::Microsoft.AspNetCore.Http.Features.IHttpResponseTrailersFeature);
Microsoft.AspNetCore.Server.Kestrel.Core (11)
Internal\Http\HttpProtocol.Generated.cs (9)
69internal protected IHttpResponseTrailersFeature? _currentIHttpResponseTrailersFeature; 264else if (key == typeof(IHttpResponseTrailersFeature)) 416else if (key == typeof(IHttpResponseTrailersFeature)) 418_currentIHttpResponseTrailersFeature = (IHttpResponseTrailersFeature?)value; 570else if (typeof(TFeature) == typeof(IHttpResponseTrailersFeature)) 572feature = Unsafe.As<IHttpResponseTrailersFeature?, TFeature?>(ref _currentIHttpResponseTrailersFeature); 730else if (typeof(TFeature) == typeof(IHttpResponseTrailersFeature)) 732_currentIHttpResponseTrailersFeature = Unsafe.As<TFeature?, IHttpResponseTrailersFeature?>(ref feature); 880yield return new KeyValuePair<Type, object>(typeof(IHttpResponseTrailersFeature), _currentIHttpResponseTrailersFeature);
Internal\Http2\Http2Stream.FeatureCollection.cs (1)
24IHeaderDictionary IHttpResponseTrailersFeature.Trailers
Internal\Http3\Http3Stream.FeatureCollection.cs (1)
19IHeaderDictionary IHttpResponseTrailersFeature.Trailers
Microsoft.AspNetCore.Server.Kestrel.Microbenchmarks (2)
HttpProtocolFeatureCollection.cs (2)
138public IHttpResponseTrailersFeature Get_IHttpResponseTrailersFeature() 140return _collection.Get<IHttpResponseTrailersFeature>();
Microsoft.AspNetCore.TestHost (3)
ClientHandler.cs (2)
197var responseTrailersFeature = context.Features.Get<IHttpResponseTrailersFeature>();
HttpContextBuilder.cs (1)
55_httpContext.Features.Set<IHttpResponseTrailersFeature>(_responseTrailersFeature);