@@ -9,6 +9,7 @@ namespace Microsoft.AspNetCore.Server.IIS.Core
9
9
internal partial class IISHttpContext
10
10
{
11
11
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 ) ;
12
13
private static readonly Type IHttpResponseFeatureType = typeof ( global ::Microsoft . AspNetCore . Http . Features . IHttpResponseFeature ) ;
13
14
private static readonly Type IHttpResponseBodyFeatureType = typeof ( global ::Microsoft . AspNetCore . Http . Features . IHttpResponseBodyFeature ) ;
14
15
private static readonly Type IHttpRequestIdentifierFeatureType = typeof ( global ::Microsoft . AspNetCore . Http . Features . IHttpRequestIdentifierFeature ) ;
@@ -32,6 +33,7 @@ internal partial class IISHttpContext
32
33
private static readonly Type IHttpResetFeature = typeof ( global ::Microsoft . AspNetCore . Http . Features . IHttpResetFeature ) ;
33
34
34
35
private object _currentIHttpRequestFeature ;
36
+ private object _currentIHttpRequestBodyDetectionFeature ;
35
37
private object _currentIHttpResponseFeature ;
36
38
private object _currentIHttpResponseBodyFeature ;
37
39
private object _currentIHttpRequestIdentifierFeature ;
@@ -56,6 +58,7 @@ internal partial class IISHttpContext
56
58
private void Initialize ( )
57
59
{
58
60
_currentIHttpRequestFeature = this ;
61
+ _currentIHttpRequestBodyDetectionFeature = this ;
59
62
_currentIHttpResponseFeature = this ;
60
63
_currentIHttpResponseBodyFeature = this ;
61
64
_currentIHttpUpgradeFeature = this ;
@@ -77,6 +80,10 @@ internal object FastFeatureGet(Type key)
77
80
{
78
81
return _currentIHttpRequestFeature ;
79
82
}
83
+ if ( key == IHttpRequestBodyDetectionFeature )
84
+ {
85
+ return _currentIHttpRequestBodyDetectionFeature ;
86
+ }
80
87
if ( key == IHttpResponseFeatureType )
81
88
{
82
89
return _currentIHttpResponseFeature ;
@@ -174,6 +181,11 @@ internal void FastFeatureSet(Type key, object feature)
174
181
_currentIHttpRequestFeature = feature ;
175
182
return ;
176
183
}
184
+ if ( key == IHttpRequestBodyDetectionFeature )
185
+ {
186
+ _currentIHttpRequestBodyDetectionFeature = feature ;
187
+ return ;
188
+ }
177
189
if ( key == IHttpResponseFeatureType )
178
190
{
179
191
_currentIHttpResponseFeature = feature ;
@@ -284,6 +296,10 @@ private IEnumerable<KeyValuePair<Type, object>> FastEnumerable()
284
296
{
285
297
yield return new KeyValuePair < Type , object > ( IHttpRequestFeatureType , _currentIHttpRequestFeature as global ::Microsoft . AspNetCore . Http . Features . IHttpRequestFeature ) ;
286
298
}
299
+ if ( _currentIHttpRequestBodyDetectionFeature != null )
300
+ {
301
+ yield return new KeyValuePair < Type , object > ( IHttpRequestBodyDetectionFeature , _currentIHttpRequestBodyDetectionFeature as global ::Microsoft . AspNetCore . Http . Features . IHttpRequestBodyDetectionFeature ) ;
302
+ }
287
303
if ( _currentIHttpResponseFeature != null )
288
304
{
289
305
yield return new KeyValuePair < Type , object > ( IHttpResponseFeatureType , _currentIHttpResponseFeature as global ::Microsoft . AspNetCore . Http . Features . IHttpResponseFeature ) ;
0 commit comments