Beispiel #1
0
 /// <summary>
 /// Instantiates a new <see cref="WebHookSelectorModelProvider"/> instance.
 /// </summary>
 /// <param name="metadataProvider">The <see cref="WebHookMetadataProvider"/>.</param>
 /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param>
 public WebHookSelectorModelProvider(
     WebHookMetadataProvider metadataProvider,
     ILoggerFactory loggerFactory)
 {
     _loggerFactory    = loggerFactory;
     _metadataProvider = metadataProvider;
 }
Beispiel #2
0
 /// <summary>
 /// Instantiates a new <see cref="WebHookReceiverExistsFilter"/> instance.
 /// </summary>
 /// <param name="metadataProvider">
 /// The <see cref="WebHookMetadataProvider"/> service. Searched for applicable
 /// <see cref="IWebHookVerifyCodeMetadata"/> per-request.
 /// </param>
 /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param>
 public WebHookReceiverExistsFilter(
     WebHookMetadataProvider metadataProvider,
     ILoggerFactory loggerFactory)
 {
     _logger           = loggerFactory.CreateLogger <WebHookReceiverExistsFilter>();
     _metadataProvider = metadataProvider;
 }
Beispiel #3
0
    /// <summary>
    /// Instantiates a new <see cref="WebHookEventNameConstraint"/> instance to verify the request matches the
    /// given <paramref name="eventName"/> or the receiver's
    /// <see cref="IWebHookPingRequestMetadata.PingEventName"/>. The
    /// <see cref="IWebHookPingRequestMetadata.PingEventName"/> is read from metadata found in
    /// <paramref name="metadataProvider"/>.
    /// </summary>
    /// <param name="eventName">Name of the event this action expects.</param>
    /// <param name="metadataProvider">
    /// The <see cref="WebHookMetadataProvider"/> service. Searched for applicable metadata per-request.
    /// </param>
    /// <remarks>This overload is intended for use with <see cref="GeneralWebHookAttribute"/>.</remarks>
    public WebHookEventNameConstraint(string eventName, WebHookMetadataProvider metadataProvider)
        : this(eventName)
    {
        if (metadataProvider == null)
        {
            throw new ArgumentNullException(nameof(metadataProvider));
        }

        _metadataProvider = metadataProvider;
    }
Beispiel #4
0
        /// <summary>
        /// Instantiates a new <see cref="WebHookEventNameMapperFilter"/> instance to map event names using the
        /// receiver's <see cref="IWebHookEventFromBodyMetadata"/>. That metadata is found in
        /// <paramref name="metadataProvider"/>.
        /// </summary>
        /// <param name="requestReader">The <see cref="IWebHookRequestReader"/>.</param>
        /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param>
        /// <param name="metadataProvider">
        /// The <see cref="WebHookMetadataProvider"/> service. Searched for applicable metadata per-request.
        /// </param>
        /// <remarks>This overload is intended for use with <see cref="GeneralWebHookAttribute"/>.</remarks>
        public WebHookEventNameMapperFilter(
            IWebHookRequestReader requestReader,
            ILoggerFactory loggerFactory,
            WebHookMetadataProvider metadataProvider)
            : this(requestReader, loggerFactory)
        {
            if (metadataProvider == null)
            {
                throw new ArgumentNullException(nameof(metadataProvider));
            }

            _metadataProvider = metadataProvider;
        }
Beispiel #5
0
        /// <summary>
        /// Instantiates a new <see cref="WebHookGetHeadRequestFilter"/> instance to short-circuit WebHook requests
        /// based on the receiver's <see cref="IWebHookGetHeadRequestMetadata"/>. That metadata is found in
        /// <paramref name="metadataProvider"/>.
        /// </summary>
        /// <param name="configuration">
        /// The <see cref="IConfiguration"/> used to initialize <see cref="WebHookSecurityFilter.Configuration"/>.
        /// </param>
        /// <param name="hostingEnvironment">
        /// The <see cref="IHostEnvironment" /> used to initialize
        /// <see cref="WebHookSecurityFilter.HostingEnvironment"/>.
        /// </param>
        /// <param name="loggerFactory">
        /// The <see cref="ILoggerFactory"/> used to initialize <see cref="WebHookSecurityFilter.Logger"/>.
        /// </param>
        /// <param name="metadataProvider">
        /// The <see cref="WebHookMetadataProvider"/> service. Searched for applicable metadata per-request.
        /// </param>
        /// <remarks>This overload is intended for use with <see cref="GeneralWebHookAttribute"/>.</remarks>
        public WebHookGetHeadRequestFilter(
            IConfiguration configuration,
            IHostEnvironment hostingEnvironment,
            ILoggerFactory loggerFactory,
            WebHookMetadataProvider metadataProvider)
            : base(configuration, hostingEnvironment, loggerFactory)
        {
            if (metadataProvider == null)
            {
                throw new ArgumentNullException(nameof(metadataProvider));
            }

            _metadataProvider = metadataProvider;
        }
        /// <summary>
        /// Instantiates a new <see cref="WebHookVerifyBodyTypeFilter"/> instance to verify the receiver's
        /// <see cref="IWebHookBodyTypeMetadataService.BodyType"/>. That <see cref="WebHookBodyType"/> value is found
        /// in <paramref name="metadataProvider"/>.
        /// </summary>
        /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param>
        /// <param name="metadataProvider">
        /// The <see cref="WebHookMetadataProvider"/> service. Searched for applicable metadata per-request.
        /// </param>
        /// <remarks>This overload is intended for use with <see cref="GeneralWebHookAttribute"/>.</remarks>
        public WebHookVerifyBodyTypeFilter(ILoggerFactory loggerFactory, WebHookMetadataProvider metadataProvider)
        {
            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }
            if (metadataProvider == null)
            {
                throw new ArgumentNullException(nameof(metadataProvider));
            }

            _logger           = loggerFactory.CreateLogger <WebHookVerifyBodyTypeFilter>();
            _metadataProvider = metadataProvider;
        }
Beispiel #7
0
        /// <summary>
        /// Instantiates a new <see cref="WebHookEventNameMapperConstraint"/> instance to verify the receiver's
        /// <see cref="IWebHookEventMetadata"/>. That metadata is found in <paramref name="metadataProvider"/>).
        /// </summary>
        /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param>
        /// <param name="metadataProvider">
        /// The <see cref="WebHookMetadataProvider"/> service. Searched for applicable metadata per-request.
        /// </param>
        /// <remarks>This overload is intended for use with <see cref="GeneralWebHookAttribute"/>.</remarks>
        public WebHookEventNameMapperConstraint(
            ILoggerFactory loggerFactory,
            WebHookMetadataProvider metadataProvider)
        {
            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }
            if (metadataProvider == null)
            {
                throw new ArgumentNullException(nameof(metadataProvider));
            }

            _logger           = loggerFactory.CreateLogger <WebHookEventNameMapperConstraint>();
            _metadataProvider = metadataProvider;
        }
Beispiel #8
0
    /// <summary>
    /// Instantiates a new <see cref="WebHookActionModelFilterProvider"/> instance.
    /// </summary>
    /// <param name="behaviorOptions">The <see cref="ApiBehaviorOptions"/> accessor.</param>
    /// <param name="configuration">The <see cref="IConfiguration"/>.</param>
    /// <param name="hostingEnvironment">The <see cref="IHostEnvironment" />.</param>
    /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param>
    /// <param name="metadataProvider">
    /// The <see cref="WebHookMetadataProvider"/> service. Searched for applicable metadata per-request.
    /// </param>
    /// <param name="requestReader">The <see cref="IWebHookRequestReader"/>.</param>
    /// <param name="verifyMethodFilter">The <see cref="WebHookVerifyMethodFilter"/> service.</param>
    public WebHookActionModelFilterProvider(
        IOptions <ApiBehaviorOptions> behaviorOptions,
        IConfiguration configuration,
        IHostEnvironment hostingEnvironment,
        ILoggerFactory loggerFactory,
        WebHookMetadataProvider metadataProvider,
        IWebHookRequestReader requestReader,
        WebHookVerifyMethodFilter verifyMethodFilter)
    {
        _behaviorOptions    = behaviorOptions.Value;
        _configuration      = configuration;
        _hostingEnvironment = hostingEnvironment;
        _loggerFactory      = loggerFactory;
        _metadataProvider   = metadataProvider;
        _requestReader      = requestReader;
        _verifyMethodFilter = verifyMethodFilter;

        var logger = loggerFactory.CreateLogger <ModelStateInvalidFilter>();

        _modelStateInvalidFilter = new ModelStateInvalidFilter(_behaviorOptions, logger);
    }
Beispiel #9
0
 /// <summary>
 /// Instantiates a new <see cref="WebHookFilterProvider"/> instance.
 /// </summary>
 /// <param name="metadataProvider">The <see cref="WebHookMetadataProvider"/>.</param>
 public WebHookFilterProvider(WebHookMetadataProvider metadataProvider)
 {
     _metadataProvider = metadataProvider;
 }
Beispiel #10
0
 /// <summary>
 /// Instantiates a new <see cref="WebHookReceiverNameConstraint"/> instance to verify the receiver's
 /// <see cref="IWebHookEventMetadata"/>. That metadata is found in <paramref name="metadataProvider"/>.
 /// </summary>
 /// <param name="metadataProvider">
 /// The <see cref="WebHookMetadataProvider"/> service. Searched for applicable metadata per-request.
 /// </param>
 /// <remarks>This overload is intended for use with <see cref="GeneralWebHookAttribute"/>.</remarks>
 public WebHookReceiverNameConstraint(WebHookMetadataProvider metadataProvider)
 {
     _metadataProvider = metadataProvider;
     _order            = Order + 5;
 }