diff --git a/src/CloudNative.CloudEvents.Amqp/AmqpClientExtensions.cs b/src/CloudNative.CloudEvents.Amqp/AmqpClientExtensions.cs
index 01ee993..0444760 100644
--- a/src/CloudNative.CloudEvents.Amqp/AmqpClientExtensions.cs
+++ b/src/CloudNative.CloudEvents.Amqp/AmqpClientExtensions.cs
@@ -20,7 +20,7 @@ namespace CloudNative.CloudEvents.Amqp
message.ApplicationProperties.Map.ContainsKey(SpecVersionAmqpHeader);
public static CloudEvent ToCloudEvent(this Message message,
- ICloudEventFormatter formatter,
+ CloudEventFormatter formatter,
params CloudEventAttribute[] extensionAttributes)
{
if (HasCloudEventsContentType(message))
diff --git a/src/CloudNative.CloudEvents.Amqp/AmqpCloudEventMessage.cs b/src/CloudNative.CloudEvents.Amqp/AmqpCloudEventMessage.cs
index 61b0d2e..cc0c7ec 100644
--- a/src/CloudNative.CloudEvents.Amqp/AmqpCloudEventMessage.cs
+++ b/src/CloudNative.CloudEvents.Amqp/AmqpCloudEventMessage.cs
@@ -13,7 +13,7 @@ namespace CloudNative.CloudEvents.Amqp
{
public class AmqpCloudEventMessage : Message
{
- public AmqpCloudEventMessage(CloudEvent cloudEvent, ContentMode contentMode, ICloudEventFormatter formatter)
+ public AmqpCloudEventMessage(CloudEvent cloudEvent, ContentMode contentMode, CloudEventFormatter formatter)
{
ApplicationProperties = new ApplicationProperties();
MapHeaders(cloudEvent);
diff --git a/src/CloudNative.CloudEvents.AspNetCore/CloudEventJsonInputFormatter.cs b/src/CloudNative.CloudEvents.AspNetCore/CloudEventJsonInputFormatter.cs
index 6033da9..2541732 100644
--- a/src/CloudNative.CloudEvents.AspNetCore/CloudEventJsonInputFormatter.cs
+++ b/src/CloudNative.CloudEvents.AspNetCore/CloudEventJsonInputFormatter.cs
@@ -16,9 +16,9 @@ namespace CloudNative.CloudEvents
public class CloudEventJsonInputFormatter : TextInputFormatter
{
- private readonly ICloudEventFormatter _formatter;
+ private readonly CloudEventFormatter _formatter;
- public CloudEventJsonInputFormatter(ICloudEventFormatter formatter)
+ public CloudEventJsonInputFormatter(CloudEventFormatter formatter)
{
_formatter = formatter;
SupportedMediaTypes.Add(MediaTypeHeaderValue.Parse("application/json"));
diff --git a/src/CloudNative.CloudEvents.AspNetCore/HttpRequestExtension.cs b/src/CloudNative.CloudEvents.AspNetCore/HttpRequestExtension.cs
index e133dbe..638a91c 100644
--- a/src/CloudNative.CloudEvents.AspNetCore/HttpRequestExtension.cs
+++ b/src/CloudNative.CloudEvents.AspNetCore/HttpRequestExtension.cs
@@ -22,7 +22,7 @@ namespace CloudNative.CloudEvents
/// List of extension instances
/// A CloudEvent instance or 'null' if the request message doesn't hold a CloudEvent
public static async ValueTask ReadCloudEventAsync(this HttpRequest httpRequest,
- ICloudEventFormatter formatter,
+ CloudEventFormatter formatter,
params CloudEventAttribute[] extensionAttributes)
{
if (HasCloudEventsContentType(httpRequest))
diff --git a/src/CloudNative.CloudEvents.Avro/AvroEventFormatter.cs b/src/CloudNative.CloudEvents.Avro/AvroEventFormatter.cs
index 17201fc..a22af0c 100644
--- a/src/CloudNative.CloudEvents.Avro/AvroEventFormatter.cs
+++ b/src/CloudNative.CloudEvents.Avro/AvroEventFormatter.cs
@@ -16,7 +16,7 @@ namespace CloudNative.CloudEvents
///
/// Formatter that implements the Avro Event Format
///
- public class AvroEventFormatter : ICloudEventFormatter
+ public class AvroEventFormatter : CloudEventFormatter
{
private const string DataName = "data";
private static readonly RecordSchema avroSchema;
diff --git a/src/CloudNative.CloudEvents.Kafka/KafkaClientExtensions.cs b/src/CloudNative.CloudEvents.Kafka/KafkaClientExtensions.cs
index 18a280b..85b91e5 100644
--- a/src/CloudNative.CloudEvents.Kafka/KafkaClientExtensions.cs
+++ b/src/CloudNative.CloudEvents.Kafka/KafkaClientExtensions.cs
@@ -20,11 +20,11 @@ namespace CloudNative.CloudEvents.Kafka
(ExtractContentType(message)?.StartsWith(CloudEvent.MediaType, StringComparison.InvariantCultureIgnoreCase) == true);
public static CloudEvent ToCloudEvent(this Message message,
- ICloudEventFormatter eventFormatter, params CloudEventAttribute[] extensionAttributes) =>
+ CloudEventFormatter eventFormatter, params CloudEventAttribute[] extensionAttributes) =>
ToCloudEvent(message, eventFormatter, (IEnumerable) extensionAttributes);
public static CloudEvent ToCloudEvent(this Message message,
- ICloudEventFormatter eventFormatter, IEnumerable extensionAttributes)
+ CloudEventFormatter eventFormatter, IEnumerable extensionAttributes)
{
if (!IsCloudEvent(message))
{
diff --git a/src/CloudNative.CloudEvents.Kafka/KafkaCloudEventMessage.cs b/src/CloudNative.CloudEvents.Kafka/KafkaCloudEventMessage.cs
index 740aed6..bf6af3d 100644
--- a/src/CloudNative.CloudEvents.Kafka/KafkaCloudEventMessage.cs
+++ b/src/CloudNative.CloudEvents.Kafka/KafkaCloudEventMessage.cs
@@ -18,7 +18,7 @@ namespace CloudNative.CloudEvents.Kafka
internal const string KafkaContentTypeAttributeName = "content-type";
internal const string SpecVersionKafkaHeader = KafkaHeaderPrefix + "specversion";
- public KafkaCloudEventMessage(CloudEvent cloudEvent, ContentMode contentMode, ICloudEventFormatter formatter)
+ public KafkaCloudEventMessage(CloudEvent cloudEvent, ContentMode contentMode, CloudEventFormatter formatter)
{
// TODO: Is this appropriate? Why can't we transport a CloudEvent without data in Kafka?
if (cloudEvent.Data == null)
@@ -70,7 +70,7 @@ namespace CloudNative.CloudEvents.Kafka
MapHeaders(cloudEvent, formatter);
}
- private void MapHeaders(CloudEvent cloudEvent, ICloudEventFormatter formatter)
+ private void MapHeaders(CloudEvent cloudEvent, CloudEventFormatter formatter)
{
foreach (var pair in cloudEvent.GetPopulatedAttributes())
diff --git a/src/CloudNative.CloudEvents.Mqtt/MqttClientExtensions.cs b/src/CloudNative.CloudEvents.Mqtt/MqttClientExtensions.cs
index a8f2d47..185be71 100644
--- a/src/CloudNative.CloudEvents.Mqtt/MqttClientExtensions.cs
+++ b/src/CloudNative.CloudEvents.Mqtt/MqttClientExtensions.cs
@@ -9,7 +9,7 @@ namespace CloudNative.CloudEvents.Mqtt
public static class MqttClientExtensions
{
public static CloudEvent ToCloudEvent(this MqttApplicationMessage message,
- ICloudEventFormatter eventFormatter, params CloudEventAttribute[] extensionAttributes)
+ CloudEventFormatter eventFormatter, params CloudEventAttribute[] extensionAttributes)
{
return eventFormatter.DecodeStructuredEvent(message.Payload, extensionAttributes);
}
diff --git a/src/CloudNative.CloudEvents.Mqtt/MqttCloudEventMessage.cs b/src/CloudNative.CloudEvents.Mqtt/MqttCloudEventMessage.cs
index 76a5684..cabed99 100644
--- a/src/CloudNative.CloudEvents.Mqtt/MqttCloudEventMessage.cs
+++ b/src/CloudNative.CloudEvents.Mqtt/MqttCloudEventMessage.cs
@@ -9,7 +9,7 @@ namespace CloudNative.CloudEvents.Mqtt
// TODO: Update to a newer version of MQTTNet and support both binary and structured mode?
public class MqttCloudEventMessage : MqttApplicationMessage
{
- public MqttCloudEventMessage(CloudEvent cloudEvent, ICloudEventFormatter formatter)
+ public MqttCloudEventMessage(CloudEvent cloudEvent, CloudEventFormatter formatter)
{
this.Payload = formatter.EncodeStructuredEvent(cloudEvent, out var contentType);
}
diff --git a/src/CloudNative.CloudEvents.NewtonsoftJson/JsonEventFormatter.cs b/src/CloudNative.CloudEvents.NewtonsoftJson/JsonEventFormatter.cs
index 60de051..b8f8bb4 100644
--- a/src/CloudNative.CloudEvents.NewtonsoftJson/JsonEventFormatter.cs
+++ b/src/CloudNative.CloudEvents.NewtonsoftJson/JsonEventFormatter.cs
@@ -16,7 +16,7 @@ namespace CloudNative.CloudEvents.NewtonsoftJson
///
/// Formatter that implements the JSON Event Format
///
- public class JsonEventFormatter : ICloudEventFormatter
+ public class JsonEventFormatter : CloudEventFormatter
{
private const string DataBase64 = "data_base64";
private const string Data = "data";
diff --git a/src/CloudNative.CloudEvents/ICloudEventFormatter.cs b/src/CloudNative.CloudEvents/CloudEventFormatter.cs
similarity index 98%
rename from src/CloudNative.CloudEvents/ICloudEventFormatter.cs
rename to src/CloudNative.CloudEvents/CloudEventFormatter.cs
index 82636de..a98c32c 100644
--- a/src/CloudNative.CloudEvents/ICloudEventFormatter.cs
+++ b/src/CloudNative.CloudEvents/CloudEventFormatter.cs
@@ -13,7 +13,7 @@ namespace CloudNative.CloudEvents
///
/// Implemented by formatters
///
- public abstract class ICloudEventFormatter
+ public abstract class CloudEventFormatter
{
///
/// Decode a structured event from a stream
diff --git a/src/CloudNative.CloudEvents/Http/CloudEventHttpContent.cs b/src/CloudNative.CloudEvents/Http/CloudEventHttpContent.cs
index 98095f1..103d7d8 100644
--- a/src/CloudNative.CloudEvents/Http/CloudEventHttpContent.cs
+++ b/src/CloudNative.CloudEvents/Http/CloudEventHttpContent.cs
@@ -26,7 +26,7 @@ namespace CloudNative.CloudEvents.Http
/// CloudEvent
/// Content mode. Structured or binary.
/// Event formatter
- public CloudEventHttpContent(CloudEvent cloudEvent, ContentMode contentMode, ICloudEventFormatter formatter)
+ public CloudEventHttpContent(CloudEvent cloudEvent, ContentMode contentMode, CloudEventFormatter formatter)
{
if (contentMode == ContentMode.Structured)
{
diff --git a/src/CloudNative.CloudEvents/Http/HttpClientExtensions.cs b/src/CloudNative.CloudEvents/Http/HttpClientExtensions.cs
index 718ce78..5c52095 100644
--- a/src/CloudNative.CloudEvents/Http/HttpClientExtensions.cs
+++ b/src/CloudNative.CloudEvents/Http/HttpClientExtensions.cs
@@ -80,7 +80,7 @@ namespace CloudNative.CloudEvents.Http
/// The extension attributes to use when parsing the CloudEvent.
/// A CloudEvent instance or 'null' if the response message doesn't hold a CloudEvent
public static Task ToCloudEventAsync(this HttpResponseMessage httpResponseMessage,
- ICloudEventFormatter formatter, params CloudEventAttribute[] extensionAttributes) =>
+ CloudEventFormatter formatter, params CloudEventAttribute[] extensionAttributes) =>
ToCloudEventInternalAsync(httpResponseMessage.Headers, httpResponseMessage.Content, formatter, extensionAttributes);
///
@@ -91,12 +91,12 @@ namespace CloudNative.CloudEvents.Http
/// List of extension instances
/// A CloudEvent instance or 'null' if the request message doesn't hold a CloudEvent
public static Task ToCloudEventAsync(this HttpRequestMessage httpRequestMessage,
- ICloudEventFormatter formatter,
+ CloudEventFormatter formatter,
params CloudEventAttribute[] extensionAttributes) =>
ToCloudEventInternalAsync(httpRequestMessage.Headers, httpRequestMessage.Content, formatter, extensionAttributes);
private static async Task ToCloudEventInternalAsync(HttpHeaders headers, HttpContent content,
- ICloudEventFormatter formatter, IEnumerable extensionAttributes)
+ CloudEventFormatter formatter, IEnumerable extensionAttributes)
{
if (HasCloudEventsContentType(content))
{
diff --git a/src/CloudNative.CloudEvents/Http/HttpListenerExtensions.cs b/src/CloudNative.CloudEvents/Http/HttpListenerExtensions.cs
index 7b5a6e9..9c455eb 100644
--- a/src/CloudNative.CloudEvents/Http/HttpListenerExtensions.cs
+++ b/src/CloudNative.CloudEvents/Http/HttpListenerExtensions.cs
@@ -26,7 +26,7 @@ namespace CloudNative.CloudEvents.Http
/// Formatter
/// Task
public static Task CopyFromAsync(this HttpListenerResponse httpListenerResponse, CloudEvent cloudEvent,
- ContentMode contentMode, ICloudEventFormatter formatter)
+ ContentMode contentMode, CloudEventFormatter formatter)
{
if (contentMode == ContentMode.Structured)
{
@@ -99,7 +99,7 @@ namespace CloudNative.CloudEvents.Http
/// List of extension instances
/// A CloudEvent instance or 'null' if the request message doesn't hold a CloudEvent
public static CloudEvent ToCloudEvent(this HttpListenerRequest httpListenerRequest,
- ICloudEventFormatter formatter, params CloudEventAttribute[] extensionAttributes)
+ CloudEventFormatter formatter, params CloudEventAttribute[] extensionAttributes)
{
if (HasCloudEventsContentType(httpListenerRequest))
{
diff --git a/src/CloudNative.CloudEvents/Http/HttpUtilities.cs b/src/CloudNative.CloudEvents/Http/HttpUtilities.cs
index 4381935..b4e26bc 100644
--- a/src/CloudNative.CloudEvents/Http/HttpUtilities.cs
+++ b/src/CloudNative.CloudEvents/Http/HttpUtilities.cs
@@ -21,7 +21,7 @@ namespace CloudNative.CloudEvents.Http
public const string SpecVersionHttpHeader = HttpHeaderPrefix + "specversion";
- internal static Stream MapDataAttributeToStream(CloudEvent cloudEvent, ICloudEventFormatter formatter) =>
+ internal static Stream MapDataAttributeToStream(CloudEvent cloudEvent, CloudEventFormatter formatter) =>
cloudEvent.Data switch
{
byte[] bytes => new MemoryStream(bytes),
diff --git a/src/CloudNative.CloudEvents/Http/HttpWebExtensions.cs b/src/CloudNative.CloudEvents/Http/HttpWebExtensions.cs
index ba8f902..464d32d 100644
--- a/src/CloudNative.CloudEvents/Http/HttpWebExtensions.cs
+++ b/src/CloudNative.CloudEvents/Http/HttpWebExtensions.cs
@@ -25,7 +25,7 @@ namespace CloudNative.CloudEvents.Http
/// Formatter
/// Task
public static async Task CopyFromAsync(this HttpWebRequest httpWebRequest, CloudEvent cloudEvent,
- ContentMode contentMode, ICloudEventFormatter formatter)
+ ContentMode contentMode, CloudEventFormatter formatter)
{
if (contentMode == ContentMode.Structured)
{