Table of Contents

Class RestfulApiVersionReader

Namespace
Cuemon.Extensions.Asp.Versioning
Assembly
Cuemon.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
Object
MediaTypeApiVersionReader
RestfulApiVersionReader
Implements
IApiVersionReader
IApiVersionParameterSource
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 String

The 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.