public VersionAttribute(string minimum, string maximum) { if (minimum == null) { throw new ArgumentNullException(nameof(minimum)); } _minimum = ApiActionVersion.Parse(minimum); _maximum = maximum == null ? null : ApiActionVersion.Parse(maximum); }
public IReadOnlyCollection <IApiActionRegistration> Get(ApiActionVersion version) { if (_registrationPreCalcs == null) { _registrationPreCalcs = GeneratePreCalcs(_registrationProvider, _versionEdgeProvider); } return(_registrationPreCalcs .Where(i => (i.Item1 == null || i.Item1 <= version) && (i.Item2 == null || i.Item2 >= version)) .Select(i => i.Item3).ToList()); }
protected override Task AppendedInitializeAsync(IApiActionInitializationContext initializationContext, CancellationToken cancellationToken) { if (initializationContext == null) { throw new ArgumentNullException(nameof(initializationContext)); } var services = initializationContext.HttpContext.RequestServices; _defaultVersion = services.GetRequiredService <IRequestVersionProvider>() .Get(initializationContext.HttpContext, initializationContext.RouteValues); _hostName = initializationContext.HttpContext.Request.Host.Value; return(Task.FromResult(true)); }
public object Convert(object source, Type destinationType) { return(source == null ? null : ApiActionVersion.Parse(source.ToString())); }