/// <summary> /// Instantiates a new <see cref="WebHookVerifyBodyTypeFilter"/> instance to verify the given /// <paramref name="receiverBodyTypeMetadata"/>. /// </summary> /// <param name="receiverBodyTypeMetadata"> /// The receiver's <see cref="IWebHookBodyTypeMetadataService"/>. /// </param> /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param> public WebHookVerifyBodyTypeFilter( IWebHookBodyTypeMetadataService receiverBodyTypeMetadata, ILoggerFactory loggerFactory) { if (receiverBodyTypeMetadata == null) { throw new ArgumentNullException(nameof(receiverBodyTypeMetadata)); } if (loggerFactory == null) { throw new ArgumentNullException(nameof(loggerFactory)); } _receiverBodyTypeMetadata = receiverBodyTypeMetadata; _logger = loggerFactory.CreateLogger <WebHookVerifyBodyTypeFilter>(); }
/// <summary> /// Ensure given <paramref name="bodyTypeMetadata"/> is not <see langword="null"/>. /// An <see cref="IWebHookBodyTypeMetadataService"/> service is mandatory for every receiver. /// </summary> /// <param name="bodyTypeMetadata"> /// The <paramref name="receiverName"/> receiver's <see cref="IWebHookBodyTypeMetadataService"/>, if any. /// </param> /// <param name="receiverName">The name of an available <see cref="IWebHookReceiver"/>.</param> /// <remarks> /// Called to detect both incomplete receiver metadata and receiver-specific attributes for which no metadata /// has been registered. /// </remarks> protected void EnsureValidBodyTypeMetadata( IWebHookBodyTypeMetadataService bodyTypeMetadata, string receiverName) { if (receiverName == null) { throw new ArgumentNullException(nameof(receiverName)); } if (bodyTypeMetadata == null) { var message = string.Format( CultureInfo.CurrentCulture, Resources.PropertyProvider_MissingMetadata, receiverName, typeof(IWebHookBodyTypeMetadataService)); throw new InvalidOperationException(message); } }
/// <summary> /// Instantiates a new <see cref="WebHookEventNameMapperFilter"/> instance to map event names using the given /// <paramref name="eventFromBodyMetadata"/>. /// </summary> /// <param name="requestReader">The <see cref="IWebHookRequestReader"/>.</param> /// <param name="loggerFactory">The <see creFf="ILoggerFactory"/>.</param> /// <param name="bodyTypeMetadata">The receiver's <see cref="IWebHookBodyTypeMetadataService"/>.</param> /// <param name="eventFromBodyMetadata">The receiver's <see cref="IWebHookEventFromBodyMetadata"/>.</param> public WebHookEventNameMapperFilter( IWebHookRequestReader requestReader, ILoggerFactory loggerFactory, IWebHookBodyTypeMetadataService bodyTypeMetadata, IWebHookEventFromBodyMetadata eventFromBodyMetadata) : this(requestReader, loggerFactory) { if (bodyTypeMetadata == null) { throw new ArgumentNullException(nameof(bodyTypeMetadata)); } if (eventFromBodyMetadata == null) { throw new ArgumentNullException(nameof(eventFromBodyMetadata)); } _bodyTypeMetadata = bodyTypeMetadata; _eventFromBodyMetadata = eventFromBodyMetadata; }
/// <summary> /// Instantiates a new <see cref="WebHookReceiverNameConstraint"/> instance to verify the request matches the /// given <paramref name="bodyTypeMetadata"/>. /// </summary> /// <param name="bodyTypeMetadata">The receiver's <see cref="IWebHookBodyTypeMetadataService"/>.</param> public WebHookReceiverNameConstraint(IWebHookBodyTypeMetadataService bodyTypeMetadata) { _bodyTypeMetadata = bodyTypeMetadata; _order = Order; }
public TestMetadataProvider(IWebHookBodyTypeMetadataService bodyTypeMetadata) { _bodyTypeMetadata = bodyTypeMetadata; }