Class RestfulApiVersionReader
- Namespace
- Codebelt.Extensions.Asp.Versioning
- Assembly
- Codebelt.Extensions.Asp.Versioning.dll
Represents a RESTful API version reader that reads the value from a filtered list of Microsoft.Net.Http.Headers.HeaderNames.Accept headers in the request.
public class RestfulApiVersionReader : MediaTypeApiVersionReader, IApiVersionReader, IApiVersionParameterSource
- Inheritance
-
MediaTypeApiVersionReaderRestfulApiVersionReader
- Implements
-
IApiVersionReaderIApiVersionParameterSource
- Inherited Members
-
MediaTypeApiVersionReader.Read(HttpRequest)MediaTypeApiVersionReader.ReadContentTypeHeader(MediaTypeHeaderValue)MediaTypeApiVersionReader.AddParameters(IApiVersionParameterDescriptionContext)MediaTypeApiVersionReader.ParameterName
Remarks
This class was introduced to have an inclusive filter on what MIME types to consider valid when parsing HTTP Accept headers; for more information have a read at https://github.com/dotnet/aspnet-api-versioning/issues/887
Constructors
RestfulApiVersionReader(IEnumerable<String>, String)
Initializes a new instance of the RestfulApiVersionReader class.
public RestfulApiVersionReader(IEnumerable<string> validAcceptHeaders, string parameterName)
Parameters
validAcceptHeaders
IEnumerable<String>The valid accept headers to filter the raw collection of Microsoft.Net.Http.Headers.HeaderNames.Accept headers.
parameterName
StringThe name of the version parameter.
Properties
ValidAcceptHeaders
Gets the valid accept headers that ReadAcceptHeader(ICollection<MediaTypeHeaderValue>) will filter by.
public IList<string> ValidAcceptHeaders { get; }
Property Value
- IList<String>
The valid accept headers that ReadAcceptHeader(ICollection<MediaTypeHeaderValue>) will filter by.
Methods
ReadAcceptHeader(ICollection<MediaTypeHeaderValue>)
Reads the requested API version from the HTTP Accept header.
protected override string ReadAcceptHeader(ICollection<MediaTypeHeaderValue> accept)
Parameters
accept
ICollection<MediaTypeHeaderValue>The collection of Accept headers to read from.
Returns
- String
The API version read or
null
.
Remarks
This implementation will, when ValidAcceptHeaders has values, filter accept
to only include valid Microsoft.Net.Http.Headers.HeaderNames.Accept headers.