/// <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));
 }
Beispiel #2
0
 /// <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));
 }
Beispiel #3
0
 /// <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));
 }