@@ -9,6 +9,7 @@ namespace Microsoft.AspNetCore.Server.IIS.Core
99 internal partial class IISHttpContext
1010 {
1111 private static readonly Type IHttpRequestFeatureType = typeof ( global ::Microsoft . AspNetCore . Http . Features . IHttpRequestFeature ) ;
12+ private static readonly Type IHttpRequestBodyDetectionFeature = typeof ( global ::Microsoft . AspNetCore . Http . Features . IHttpRequestBodyDetectionFeature ) ;
1213 private static readonly Type IHttpResponseFeatureType = typeof ( global ::Microsoft . AspNetCore . Http . Features . IHttpResponseFeature ) ;
1314 private static readonly Type IHttpResponseBodyFeatureType = typeof ( global ::Microsoft . AspNetCore . Http . Features . IHttpResponseBodyFeature ) ;
1415 private static readonly Type IHttpRequestIdentifierFeatureType = typeof ( global ::Microsoft . AspNetCore . Http . Features . IHttpRequestIdentifierFeature ) ;
@@ -32,6 +33,7 @@ internal partial class IISHttpContext
3233 private static readonly Type IHttpResetFeature = typeof ( global ::Microsoft . AspNetCore . Http . Features . IHttpResetFeature ) ;
3334
3435 private object _currentIHttpRequestFeature ;
36+ private object _currentIHttpRequestBodyDetectionFeature ;
3537 private object _currentIHttpResponseFeature ;
3638 private object _currentIHttpResponseBodyFeature ;
3739 private object _currentIHttpRequestIdentifierFeature ;
@@ -56,6 +58,7 @@ internal partial class IISHttpContext
5658 private void Initialize ( )
5759 {
5860 _currentIHttpRequestFeature = this ;
61+ _currentIHttpRequestBodyDetectionFeature = this ;
5962 _currentIHttpResponseFeature = this ;
6063 _currentIHttpResponseBodyFeature = this ;
6164 _currentIHttpUpgradeFeature = this ;
@@ -77,6 +80,10 @@ internal object FastFeatureGet(Type key)
7780 {
7881 return _currentIHttpRequestFeature ;
7982 }
83+ if ( key == IHttpRequestBodyDetectionFeature )
84+ {
85+ return _currentIHttpRequestBodyDetectionFeature ;
86+ }
8087 if ( key == IHttpResponseFeatureType )
8188 {
8289 return _currentIHttpResponseFeature ;
@@ -174,6 +181,11 @@ internal void FastFeatureSet(Type key, object feature)
174181 _currentIHttpRequestFeature = feature ;
175182 return ;
176183 }
184+ if ( key == IHttpRequestBodyDetectionFeature )
185+ {
186+ _currentIHttpRequestBodyDetectionFeature = feature ;
187+ return ;
188+ }
177189 if ( key == IHttpResponseFeatureType )
178190 {
179191 _currentIHttpResponseFeature = feature ;
@@ -284,6 +296,10 @@ private IEnumerable<KeyValuePair<Type, object>> FastEnumerable()
284296 {
285297 yield return new KeyValuePair < Type , object > ( IHttpRequestFeatureType , _currentIHttpRequestFeature as global ::Microsoft . AspNetCore . Http . Features . IHttpRequestFeature ) ;
286298 }
299+ if ( _currentIHttpRequestBodyDetectionFeature != null )
300+ {
301+ yield return new KeyValuePair < Type , object > ( IHttpRequestBodyDetectionFeature , _currentIHttpRequestBodyDetectionFeature as global ::Microsoft . AspNetCore . Http . Features . IHttpRequestBodyDetectionFeature ) ;
302+ }
287303 if ( _currentIHttpResponseFeature != null )
288304 {
289305 yield return new KeyValuePair < Type , object > ( IHttpResponseFeatureType , _currentIHttpResponseFeature as global ::Microsoft . AspNetCore . Http . Features . IHttpResponseFeature ) ;
0 commit comments