1- using System . Diagnostics . Contracts ;
2- namespace System . Web . Http
1+ namespace System . Web . Http
32{
43 using Controllers ;
54 using Diagnostics . CodeAnalysis ;
@@ -9,9 +8,7 @@ namespace System.Web.Http
98 using Microsoft . Web . Http ;
109 using Microsoft . Web . Http . Controllers ;
1110 using Microsoft . Web . Http . Dispatcher ;
12- using Microsoft . Web . Http . Routing ;
1311 using Microsoft . Web . Http . Versioning ;
14- using Routing ;
1512
1613 /// <summary>
1714 /// Provides extension methods for the <see cref="HttpConfiguration"/> class.
@@ -20,43 +17,18 @@ public static class HttpConfigurationExtensions
2017 {
2118 private const string ApiVersioningOptionsKey = "MS_ApiVersioningOptions" ;
2219
23- private static ApiVersioningOptions GetApiVersioningOptions ( this HttpConfiguration configuration )
24- {
25- Contract . Requires ( configuration != null ) ;
26-
27- var options = default ( ApiVersioningOptions ) ;
28- configuration . Properties . TryGetValue ( ApiVersioningOptionsKey , out options ) ;
29- return options ;
30- }
31-
32- /// <summary>
33- /// Gets the configured, default service API version.
34- /// </summary>
35- /// <param name="configuration">The current <see cref="HttpConfiguration">configuration</see>.</param>
36- /// <returns>The configured, default <see cref="ApiVersion">API version</see>.</returns>
37- /// <remarks>If the <paramref name="configuration"/> has not added API versioning, then this method
38- /// always returns <see cref="ApiVersion.Default"/>.</remarks>
39- public static ApiVersion GetDefaultApiVersion ( this HttpConfiguration configuration )
40- {
41- Arg . NotNull ( configuration , nameof ( configuration ) ) ;
42- Contract . Ensures ( Contract . Result < ApiVersion > ( ) != null ) ;
43-
44- return configuration . GetApiVersioningOptions ( ) ? . DefaultApiVersion ?? ApiVersion . Default ;
45- }
46-
4720 /// <summary>
48- /// Gets the configured service API version reader .
21+ /// Gets the current API versioning options .
4922 /// </summary>
5023 /// <param name="configuration">The current <see cref="HttpConfiguration">configuration</see>.</param>
51- /// <returns>The configured <see cref="IApiVersionReader">API service reader</see>.</returns>
52- /// <remarks>If the <paramref name="configuration"/> has not added API versioning, then this method
53- /// always returns a new instance of the <see cref="QueryStringApiVersionReader"/>.</remarks>
54- public static IApiVersionReader GetApiVersionReader ( this HttpConfiguration configuration )
24+ /// <returns>The current <see cref="ApiVersioningOptions">API versioning options</see>.</returns>
25+ public static ApiVersioningOptions GetApiVersioningOptions ( this HttpConfiguration configuration )
5526 {
5627 Arg . NotNull ( configuration , nameof ( configuration ) ) ;
57- Contract . Ensures ( Contract . Result < IApiVersionReader > ( ) != null ) ;
28+ Contract . Ensures ( Contract . Result < ApiVersioningOptions > ( ) != null ) ;
5829
59- return configuration . GetApiVersioningOptions ( ) ? . ApiVersionReader ?? new QueryStringApiVersionReader ( ) ;
30+ var options = default ( ApiVersioningOptions ) ;
31+ return configuration . Properties . TryGetValue ( ApiVersioningOptionsKey , out options ) ? options : new ApiVersioningOptions ( ) ;
6032 }
6133
6234 /// <summary>
@@ -91,4 +63,4 @@ public static void AddApiVersioning( this HttpConfiguration configuration, Actio
9163 configuration . Properties . AddOrUpdate ( ApiVersioningOptionsKey , options , ( key , oldValue ) => options ) ;
9264 }
9365 }
94- }
66+ }
0 commit comments