@@ -28,11 +28,18 @@ namespace Microsoft.AspNetCore.Owin
2828 Task < WebSocket >
2929 > ;
3030
31+ /// <summary>
32+ /// A loosely-typed OWIN environment wrapper over an <see cref="HttpContext"/>.
33+ /// </summary>
3134 public class OwinEnvironment : IDictionary < string , object >
3235 {
3336 private HttpContext _context ;
3437 private IDictionary < string , FeatureMap > _entries ;
3538
39+ /// <summary>
40+ /// Initializes a new instance of <see cref="OwinEnvironment"/>.
41+ /// </summary>
42+ /// <param name="context">The request context.</param>
3643 public OwinEnvironment ( HttpContext context )
3744 {
3845 if ( context . Features . Get < IHttpRequestFeature > ( ) == null )
@@ -131,6 +138,9 @@ public OwinEnvironment(HttpContext context)
131138 }
132139
133140 // Public in case there's a new/custom feature interface that needs to be added.
141+ /// <summary>
142+ /// Get the environment's feature maps.
143+ /// </summary>
134144 public IDictionary < string , FeatureMap > FeatureMaps
135145 {
136146 get { return _entries ; }
@@ -269,6 +279,7 @@ bool ICollection<KeyValuePair<string, object>>.Remove(KeyValuePair<string, objec
269279 throw new NotImplementedException ( ) ;
270280 }
271281
282+ /// <inheritdoc />
272283 public IEnumerator < KeyValuePair < string , object > > GetEnumerator ( )
273284 {
274285 foreach ( var entryPair in _entries )
@@ -290,27 +301,63 @@ IEnumerator IEnumerable.GetEnumerator()
290301 return GetEnumerator ( ) ;
291302 }
292303
304+ /// <summary>
305+ /// Maps OWIN keys to ASP.NET Core features.
306+ /// </summary>
293307 public class FeatureMap
294308 {
309+ /// <summary>
310+ /// Create a <see cref="FeatureMap"/> for the specified feature interface type.
311+ /// </summary>
312+ /// <param name="featureInterface">The feature interface type.</param>
313+ /// <param name="getter">Value getter.</param>
295314 public FeatureMap ( Type featureInterface , Func < object , object > getter )
296315 : this ( featureInterface , getter , defaultFactory : null )
297316 {
298317 }
318+
319+ /// <summary>
320+ /// Initializes a new instance of <see cref="FeatureMap"/> for the specified feature interface type.
321+ /// </summary>
322+ /// <param name="featureInterface">The feature interface type.</param>
323+ /// <param name="getter">Value getter delegate.</param>
324+ /// <param name="defaultFactory">Default value factory delegate.</param>
299325 public FeatureMap ( Type featureInterface , Func < object , object > getter , Func < object > defaultFactory )
300326 : this ( featureInterface , getter , defaultFactory , setter : null )
301327 {
302328 }
303329
330+ /// <summary>
331+ /// Initializes a new instance of <see cref="FeatureMap"/> for the specified feature interface type.
332+ /// </summary>
333+ /// <param name="featureInterface">The feature interface type.</param>
334+ /// <param name="getter">Value getter delegate.</param>
335+ /// <param name="setter">Value setter delegate.</param>
304336 public FeatureMap ( Type featureInterface , Func < object , object > getter , Action < object , object > setter )
305337 : this ( featureInterface , getter , defaultFactory : null , setter : setter )
306338 {
307339 }
308340
341+ /// <summary>
342+ /// Initializes a new instance of <see cref="FeatureMap"/> for the specified feature interface type.
343+ /// </summary>
344+ /// <param name="featureInterface">The feature interface type.</param>
345+ /// <param name="getter">Value getter delegate.</param>
346+ /// <param name="defaultFactory">Default value factory delegate.</param>
347+ /// <param name="setter">Value setter delegate.</param>
309348 public FeatureMap ( Type featureInterface , Func < object , object > getter , Func < object > defaultFactory , Action < object , object > setter )
310349 : this ( featureInterface , getter , defaultFactory , setter , featureFactory : null )
311350 {
312351 }
313352
353+ /// <summary>
354+ /// Initializes a new instance of <see cref="FeatureMap"/> for the specified feature interface type.
355+ /// </summary>
356+ /// <param name="featureInterface">The feature interface type.</param>
357+ /// <param name="getter">Value getter delegate.</param>
358+ /// <param name="defaultFactory">Default value factory delegate.</param>
359+ /// <param name="setter">Value setter delegate.</param>
360+ /// <param name="featureFactory">Feature factory delegate.</param>
314361 public FeatureMap ( Type featureInterface , Func < object , object > getter , Func < object > defaultFactory , Action < object , object > setter , Func < object > featureFactory )
315362 {
316363 FeatureInterface = featureInterface ;
@@ -326,6 +373,9 @@ public FeatureMap(Type featureInterface, Func<object, object> getter, Func<objec
326373 private Func < object > DefaultFactory { get ; set ; }
327374 private Func < object > FeatureFactory { get ; set ; }
328375
376+ /// <summary>
377+ /// Gets a value indicating whether the feature map is settable.
378+ /// </summary>
329379 public bool CanSet
330380 {
331381 get { return Setter != null ; }
@@ -366,28 +416,59 @@ internal void Set(HttpContext context, object value)
366416 }
367417 }
368418
419+ /// <summary>
420+ /// Maps OWIN keys to ASP.NET Core features.
421+ /// </summary>
422+ /// <typeparam name="TFeature">Feature interface type.</typeparam>
369423 public class FeatureMap < TFeature > : FeatureMap
370424 {
425+ /// <summary>
426+ /// Initializes a new instance of <see cref="FeatureMap"/> for the specified feature interface type.
427+ /// </summary>
428+ /// <param name="getter">Value getter.</param>
371429 public FeatureMap ( Func < TFeature , object > getter )
372430 : base ( typeof ( TFeature ) , feature => getter ( ( TFeature ) feature ) )
373431 {
374432 }
375433
434+ /// <summary>
435+ /// Initializes a new instance of <see cref="FeatureMap"/> for the specified feature interface type.
436+ /// </summary>
437+ /// <param name="getter">Value getter delegate.</param>
438+ /// <param name="defaultFactory">Default value factory delegate.</param>
376439 public FeatureMap ( Func < TFeature , object > getter , Func < object > defaultFactory )
377440 : base ( typeof ( TFeature ) , feature => getter ( ( TFeature ) feature ) , defaultFactory )
378441 {
379442 }
380443
444+ /// <summary>
445+ /// Initializes a new instance of <see cref="FeatureMap"/> for the specified feature interface type.
446+ /// </summary>
447+ /// <param name="getter">Value getter delegate.</param>
448+ /// <param name="setter">Value setter delegate.</param>
381449 public FeatureMap ( Func < TFeature , object > getter , Action < TFeature , object > setter )
382450 : base ( typeof ( TFeature ) , feature => getter ( ( TFeature ) feature ) , ( feature , value ) => setter ( ( TFeature ) feature , value ) )
383451 {
384452 }
385453
454+ /// <summary>
455+ /// Initializes a new instance of <see cref="FeatureMap"/> for the specified feature interface type.
456+ /// </summary>
457+ /// <param name="getter">Value getter delegate.</param>
458+ /// <param name="defaultFactory">Default value factory delegate.</param>
459+ /// <param name="setter">Value setter delegate.</param>
386460 public FeatureMap ( Func < TFeature , object > getter , Func < object > defaultFactory , Action < TFeature , object > setter )
387461 : base ( typeof ( TFeature ) , feature => getter ( ( TFeature ) feature ) , defaultFactory , ( feature , value ) => setter ( ( TFeature ) feature , value ) )
388462 {
389463 }
390464
465+ /// <summary>
466+ /// Initializes a new instance of <see cref="FeatureMap"/> for the specified feature interface type.
467+ /// </summary>
468+ /// <param name="getter">Value getter delegate.</param>
469+ /// <param name="defaultFactory">Default value factory delegate.</param>
470+ /// <param name="setter">Value setter delegate.</param>
471+ /// <param name="featureFactory">Feature factory delegate.</param>
391472 public FeatureMap ( Func < TFeature , object > getter , Func < object > defaultFactory , Action < TFeature , object > setter , Func < TFeature > featureFactory )
392473 : base ( typeof ( TFeature ) , feature => getter ( ( TFeature ) feature ) , defaultFactory , ( feature , value ) => setter ( ( TFeature ) feature , value ) , ( ) => featureFactory ( ) )
393474 {
0 commit comments