Ejemplo n.º 1
0
 /// <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());
 }
Ejemplo n.º 3
0
 internal RequestHandlerContext(
     IErrorResponseProvider errorResponseProvider,
     IReportApiVersions reportApiVersions,
     Lazy <ApiVersionModel> apiVersions)
 {
     ErrorResponses   = errorResponseProvider;
     reporter         = reportApiVersions;
     this.apiVersions = apiVersions;
 }
Ejemplo n.º 4
0
 internal RequestHandlerContext(
     IErrorResponseProvider errorResponseProvider,
     IReportApiVersions reportApiVersions)
     : this(
         errorResponseProvider,
         reportApiVersions,
         new Lazy <ApiVersionModel>(() => ApiVersionModel.Empty))
 {
 }
Ejemplo n.º 5
0
 /// <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());
        }
Ejemplo n.º 7
0
        /// <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;
        }
Ejemplo n.º 8
0
        /// <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;
        }
Ejemplo n.º 9
0
        /// <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;