/// <summary> /// Constructs a new instance based on the given CloudEvent Function. /// </summary> /// <param name="function">The CloudEvent Function to invoke.</param> /// <param name="formatter">The CloudEvent formatter to use to deserialize the CloudEvent. This is expected to be a single-type formatter, /// targeting <typeparamref name="TData"/>.</param> /// <param name="logger">The logger to use to report errors.</param> public CloudEventAdapter(ICloudEventFunction <TData> function, CloudEventFormatter formatter, ILogger <CloudEventAdapter <TData> > logger) { _function = Preconditions.CheckNotNull(function, nameof(function)); if (formatter is null) { throw new ArgumentNullException(nameof(formatter), "No CloudEventFormatter configured for the CloudEvent function. " + "The Functions Framework hosting will provide an event formatter if the target " + "data type is decorated with CloudEventFormatterAttribute; otherwise, the formatter " + "should be configured via dependency injection."); } _formatter = Preconditions.CheckNotNull(formatter, nameof(formatter)); _logger = Preconditions.CheckNotNull(logger, nameof(logger)); }
/// <summary> /// Constructs a new instance based on the given Cloud Event Function. /// </summary> /// <param name="function">The Cloud Event Function to invoke.</param> /// <param name="logger">The logger to use to report errors.</param> public CloudEventAdapter(ICloudEventFunction <TData> function, ILogger <CloudEventAdapter <TData> > logger) { _function = Preconditions.CheckNotNull(function, nameof(function)); _logger = Preconditions.CheckNotNull(logger, nameof(logger)); }
/// <summary> /// Constructs a new instance based on the given CloudEvent Function. /// </summary> /// <param name="function">The CloudEvent Function to invoke.</param> /// <param name="formatter">The CloudEvent formatter to use when deserializing requests.</param> /// <param name="logger">The logger to use to report errors.</param> public CloudEventAdapter(ICloudEventFunction function, CloudEventFormatter formatter, ILogger <CloudEventAdapter> logger) { _function = Preconditions.CheckNotNull(function, nameof(function)); _formatter = Preconditions.CheckNotNull(formatter, nameof(formatter)); _logger = Preconditions.CheckNotNull(logger, nameof(logger)); }