/// <summary> /// Applies the builder conventions to the specified controller action. /// </summary> /// <param name="actionDescriptor">The <see cref="HttpActionDescriptor">action descriptor</see> /// to apply the conventions to.</param> public void ApplyTo(HttpActionDescriptor actionDescriptor) { Arg.NotNull(actionDescriptor, nameof(actionDescriptor)); mappedVersions.UnionWith(from provider in actionDescriptor.GetCustomAttributes <IApiVersionProvider>() where !provider.AdvertiseOnly && !provider.Deprecated from version in provider.Versions select version); var noVersions = Enumerable.Empty <ApiVersion>(); var model = new ApiVersionModel( apiVersionNeutral: false, supported: mappedVersions, deprecated: noVersions, advertised: noVersions, deprecatedAdvertised: noVersions); actionDescriptor.SetApiVersionModel(model); }