/// <summary> /// Initializes a new instance of the <see cref="DefaultApiVersionRoutePolicy"/> class. /// </summary> /// <param name="actionInvokerFactory">The underlying <see cref="IActionInvokerFactory">action invoker factory</see>.</param> /// <param name="errorResponseProvider">The <see cref="IErrorResponseProvider">provider</see> used to create error responses.</param> /// <param name="reportApiVersions">The <see cref="IReportApiVersions">object</see> used to report API versions.</param> /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param> public DefaultApiVersionRoutePolicy( IActionInvokerFactory actionInvokerFactory, IErrorResponseProvider errorResponseProvider, IReportApiVersions reportApiVersions, ILoggerFactory loggerFactory) : this(actionInvokerFactory, errorResponseProvider, reportApiVersions, loggerFactory, null) { }
/// <summary> /// Initializes a new instance of the <see cref="ApiVersionMatcherPolicy"/> class. /// </summary> /// <param name="options">The <see cref="ApiVersioningOptions">options</see> associated with the action selector.</param> /// <param name="reportApiVersions">The <see cref="IReportApiVersions">object</see> used to report API versions.</param> /// <param name="loggerFactory">The <see cref="ILoggerFactory">factory</see> used to create <see cref="ILogger">loggers</see>.</param> public ApiVersionMatcherPolicy( IOptions <ApiVersioningOptions> options, IReportApiVersions reportApiVersions, ILoggerFactory loggerFactory) { this.options = options; ApiVersionReporter = reportApiVersions; Logger = loggerFactory.CreateLogger(GetType()); }
internal RequestHandlerContext( IErrorResponseProvider errorResponseProvider, IReportApiVersions reportApiVersions, Lazy <ApiVersionModel> apiVersions) { ErrorResponses = errorResponseProvider; reporter = reportApiVersions; this.apiVersions = apiVersions; }
internal RequestHandlerContext( IErrorResponseProvider errorResponseProvider, IReportApiVersions reportApiVersions) : this( errorResponseProvider, reportApiVersions, new Lazy <ApiVersionModel>(() => ApiVersionModel.Empty)) { }
/// <summary> /// Initializes a new instance of the <see cref="DefaultApiVersionRoutePolicy"/> class. /// </summary> /// <param name="errorResponseProvider">The <see cref="IErrorResponseProvider">provider</see> used to create error responses.</param> /// <param name="reportApiVersions">The <see cref="IReportApiVersions">object</see> used to report API versions.</param> /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param> /// <param name="options">The <see cref="ApiVersioningOptions">options</see> associated with the route policy.</param> public DefaultApiVersionRoutePolicy( IErrorResponseProvider errorResponseProvider, IReportApiVersions reportApiVersions, ILoggerFactory loggerFactory, IOptions <ApiVersioningOptions> options) { ErrorResponseProvider = errorResponseProvider; ApiVersionReporter = reportApiVersions; Logger = loggerFactory.CreateLogger(GetType()); this.options = options; }
/// <summary> /// Initializes a new instance of the <see cref="ApiVersionMatcherPolicy"/> class. /// </summary> /// <param name="options">The <see cref="ApiVersioningOptions">options</see> associated with the action selector.</param> /// <param name="reportApiVersions">The <see cref="IReportApiVersions">object</see> used to report API versions.</param> /// <param name="loggerFactory">The <see cref="ILoggerFactory">factory</see> used to create <see cref="ILogger">loggers</see>.</param> public ApiVersionMatcherPolicy( IOptions <ApiVersioningOptions> options, IReportApiVersions reportApiVersions, ILoggerFactory loggerFactory) { Arg.NotNull(options, nameof(options)); Arg.NotNull(reportApiVersions, nameof(reportApiVersions)); Arg.NotNull(loggerFactory, nameof(loggerFactory)); this.options = options; ApiVersionReporter = reportApiVersions; Logger = loggerFactory.CreateLogger(GetType()); }
/// <summary> /// Initializes a new instance of the <see cref="DefaultApiVersionRoutePolicy"/> class. /// </summary> /// <param name="errorResponseProvider">The <see cref="IErrorResponseProvider">provider</see> used to create error responses.</param> /// <param name="reportApiVersions">The <see cref="IReportApiVersions">object</see> used to report API versions.</param> /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param> /// <param name="options">The <see cref="ApiVersioningOptions">options</see> associated with the route policy.</param> public DefaultApiVersionRoutePolicy( IErrorResponseProvider errorResponseProvider, IReportApiVersions reportApiVersions, ILoggerFactory loggerFactory, IOptions <ApiVersioningOptions> options) { Arg.NotNull(errorResponseProvider, nameof(errorResponseProvider)); Arg.NotNull(reportApiVersions, nameof(reportApiVersions)); Arg.NotNull(loggerFactory, nameof(loggerFactory)); Arg.NotNull(options, nameof(options)); ErrorResponseProvider = errorResponseProvider; ApiVersionReporter = reportApiVersions; Logger = loggerFactory.CreateLogger(GetType()); this.options = options; }
/// <summary> /// Initializes a new instance of the <see cref="DefaultApiVersionRoutePolicy"/> class. /// </summary> /// <param name="actionInvokerFactory">The underlying <see cref="IActionInvokerFactory">action invoker factory</see>.</param> /// <param name="errorResponseProvider">The <see cref="IErrorResponseProvider">provider</see> used to create error responses.</param> /// <param name="reportApiVersions">The <see cref="IReportApiVersions">object</see> used to report API versions.</param> /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param> /// <param name="actionContextAccessor">The associated <see cref="IActionContextAccessor">action context accessor</see>.</param> public DefaultApiVersionRoutePolicy( IActionInvokerFactory actionInvokerFactory, IErrorResponseProvider errorResponseProvider, IReportApiVersions reportApiVersions, ILoggerFactory loggerFactory, IActionContextAccessor actionContextAccessor) { Arg.NotNull(actionInvokerFactory, nameof(actionInvokerFactory)); Arg.NotNull(errorResponseProvider, nameof(errorResponseProvider)); Arg.NotNull(reportApiVersions, nameof(reportApiVersions)); Arg.NotNull(loggerFactory, nameof(loggerFactory)); ErrorResponseProvider = errorResponseProvider; ActionInvokerFactory = actionInvokerFactory; ApiVersionReporter = reportApiVersions; Logger = loggerFactory.CreateLogger(GetType()); ActionContextAccessor = actionContextAccessor; }
/// <summary> /// Initializes a new instance of the <see cref="DefaultApiVersionRoutePolicy"/> class. /// </summary> /// <param name="actionInvokerFactory">The underlying <see cref="IActionInvokerFactory">action invoker factory</see>.</param> /// <param name="errorResponseProvider">The <see cref="IErrorResponseProvider">provider</see> used to create error responses.</param> /// <param name="reportApiVersions">The <see cref="IReportApiVersions">object</see> used to report API versions.</param> /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param> /// <param name="actionContextAccessor">The associated <see cref="IActionContextAccessor">action context accessor</see>.</param> /// <param name="options">The <see cref="ApiVersioningOptions">options</see> associated with the route policy.</param> public DefaultApiVersionRoutePolicy( IActionInvokerFactory actionInvokerFactory, IErrorResponseProvider errorResponseProvider, IReportApiVersions reportApiVersions, ILoggerFactory loggerFactory, IActionContextAccessor actionContextAccessor, IOptions <ApiVersioningOptions> options = null) { Arg.NotNull(actionInvokerFactory, nameof(actionInvokerFactory)); Arg.NotNull(errorResponseProvider, nameof(errorResponseProvider)); Arg.NotNull(reportApiVersions, nameof(reportApiVersions)); Arg.NotNull(loggerFactory, nameof(loggerFactory)); ErrorResponseProvider = errorResponseProvider; ActionInvokerFactory = actionInvokerFactory; ApiVersionReporter = reportApiVersions; Logger = loggerFactory.CreateLogger(GetType()); ActionContextAccessor = actionContextAccessor; this.options = options ?? new OptionsWrapper <ApiVersioningOptions>(new ApiVersioningOptions()); }
/// <summary> /// Initializes a new instance of the <see cref="ReportApiVersionsAttribute"/> class. /// </summary> /// <param name="reportApiVersions">The <see cref="IReportApiVersions">object</see> used to report API versions.</param> public ReportApiVersionsAttribute(IReportApiVersions reportApiVersions) { Arg.NotNull(reportApiVersions, nameof(reportApiVersions)); reporter = reportApiVersions; }
/// <summary> /// Initializes a new instance of the <see cref="ReportApiVersionsAttribute"/> class. /// </summary> /// <param name="reportApiVersions">The <see cref="IReportApiVersions">object</see> used to report API versions.</param> #pragma warning disable CA1019 public ReportApiVersionsAttribute(IReportApiVersions reportApiVersions) => reporter = reportApiVersions;