You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iggy.apache.org by pi...@apache.org on 2026/01/30 16:34:05 UTC
(iggy) 01/01: Fix c# unused components
This is an automated email from the ASF dual-hosted git repository.
piotr pushed a commit to branch non_string_header_key
in repository https://gitbox.apache.org/repos/asf/iggy.git
commit 3ee6cdf87b9bd1b73545e10fa4c2a60572e4f404
Author: spetz <pi...@gmail.com>
AuthorDate: Fri Jan 30 17:32:53 2026 +0100
Fix c# unused components
---
foreign/csharp/Iggy_SDK/Headers/HeaderEntry.cs | 25 ----
foreign/csharp/Iggy_SDK/Headers/HeaderKey.cs | 3 -
.../Implementations/HttpMessageStream.cs | 3 +-
.../Iggy_SDK/JsonConverters/HeaderKeyConverter.cs | 127 ---------------------
4 files changed, 1 insertion(+), 157 deletions(-)
diff --git a/foreign/csharp/Iggy_SDK/Headers/HeaderEntry.cs b/foreign/csharp/Iggy_SDK/Headers/HeaderEntry.cs
deleted file mode 100644
index 07857f10c..000000000
--- a/foreign/csharp/Iggy_SDK/Headers/HeaderEntry.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements. See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership. The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied. See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-namespace Apache.Iggy.Headers;
-
-/// <summary>
-/// Represents a single header entry with key and value.
-/// </summary>
-/// <param name="Key">The header key.</param>
-/// <param name="Value">The header value.</param>
-public readonly record struct HeaderEntry(HeaderKey Key, HeaderValue Value);
diff --git a/foreign/csharp/Iggy_SDK/Headers/HeaderKey.cs b/foreign/csharp/Iggy_SDK/Headers/HeaderKey.cs
index 9c8b5cc63..b6a19ad21 100644
--- a/foreign/csharp/Iggy_SDK/Headers/HeaderKey.cs
+++ b/foreign/csharp/Iggy_SDK/Headers/HeaderKey.cs
@@ -16,15 +16,12 @@
// under the License.
using System.Text;
-using System.Text.Json.Serialization;
-using Apache.Iggy.JsonConverters;
namespace Apache.Iggy.Headers;
/// <summary>
/// Represents a message header key with a kind and binary value.
/// </summary>
-[JsonConverter(typeof(HeaderKeyConverter))]
public readonly struct HeaderKey : IEquatable<HeaderKey>
{
/// <summary>
diff --git a/foreign/csharp/Iggy_SDK/IggyClient/Implementations/HttpMessageStream.cs b/foreign/csharp/Iggy_SDK/IggyClient/Implementations/HttpMessageStream.cs
index f56bc3765..4e46b47de 100644
--- a/foreign/csharp/Iggy_SDK/IggyClient/Implementations/HttpMessageStream.cs
+++ b/foreign/csharp/Iggy_SDK/IggyClient/Implementations/HttpMessageStream.cs
@@ -57,8 +57,7 @@ public class HttpMessageStream : IIggyClient
PropertyNamingPolicy = JsonNamingPolicy.SnakeCaseLower,
Converters =
{
- new JsonStringEnumConverter(JsonNamingPolicy.SnakeCaseLower),
- new JsonConverters.UserHeadersConverter()
+ new JsonStringEnumConverter(JsonNamingPolicy.SnakeCaseLower)
}
};
}
diff --git a/foreign/csharp/Iggy_SDK/JsonConverters/HeaderKeyConverter.cs b/foreign/csharp/Iggy_SDK/JsonConverters/HeaderKeyConverter.cs
deleted file mode 100644
index 24ca99fb1..000000000
--- a/foreign/csharp/Iggy_SDK/JsonConverters/HeaderKeyConverter.cs
+++ /dev/null
@@ -1,127 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements. See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership. The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied. See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-using System.Text.Json;
-using System.Text.Json.Serialization;
-using Apache.Iggy.Headers;
-
-namespace Apache.Iggy.JsonConverters;
-
-internal class HeaderKeyConverter : JsonConverter<HeaderKey>
-{
- public override HeaderKey Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
- {
- if (reader.TokenType != JsonTokenType.StartObject)
- {
- throw new JsonException("Expected start of object for HeaderKey.");
- }
-
- HeaderKind? kind = null;
- byte[]? value = null;
-
- while (reader.Read())
- {
- if (reader.TokenType == JsonTokenType.EndObject)
- {
- break;
- }
-
- if (reader.TokenType != JsonTokenType.PropertyName)
- {
- throw new JsonException("Expected property name.");
- }
-
- var propertyName = reader.GetString();
- reader.Read();
-
- switch (propertyName)
- {
- case "kind":
- var kindStr = reader.GetString();
- kind = kindStr switch
- {
- "raw" => HeaderKind.Raw,
- "string" => HeaderKind.String,
- "bool" => HeaderKind.Bool,
- "int8" => HeaderKind.Int8,
- "int16" => HeaderKind.Int16,
- "int32" => HeaderKind.Int32,
- "int64" => HeaderKind.Int64,
- "int128" => HeaderKind.Int128,
- "uint8" => HeaderKind.Uint8,
- "uint16" => HeaderKind.Uint16,
- "uint32" => HeaderKind.Uint32,
- "uint64" => HeaderKind.Uint64,
- "uint128" => HeaderKind.Uint128,
- "float32" => HeaderKind.Float,
- "float64" => HeaderKind.Double,
- _ => throw new JsonException($"Unknown header kind: {kindStr}")
- };
- break;
- case "value":
- var base64 = reader.GetString();
- value = base64 is not null ? Convert.FromBase64String(base64) : null;
- break;
- }
- }
-
- if (kind is null || value is null)
- {
- throw new JsonException("HeaderKey must have both 'kind' and 'value' properties.");
- }
-
- return new HeaderKey { Kind = kind.Value, Value = value };
- }
-
- public override void Write(Utf8JsonWriter writer, HeaderKey value, JsonSerializerOptions options)
- {
- writer.WriteStartObject();
- writer.WriteString("kind", value.Kind switch
- {
- HeaderKind.Raw => "raw",
- HeaderKind.String => "string",
- HeaderKind.Bool => "bool",
- HeaderKind.Int8 => "int8",
- HeaderKind.Int16 => "int16",
- HeaderKind.Int32 => "int32",
- HeaderKind.Int64 => "int64",
- HeaderKind.Int128 => "int128",
- HeaderKind.Uint8 => "uint8",
- HeaderKind.Uint16 => "uint16",
- HeaderKind.Uint32 => "uint32",
- HeaderKind.Uint64 => "uint64",
- HeaderKind.Uint128 => "uint128",
- HeaderKind.Float => "float32",
- HeaderKind.Double => "float64",
- _ => throw new JsonException($"Unknown header kind: {value.Kind}")
- });
- writer.WriteString("value", Convert.ToBase64String(value.Value));
- writer.WriteEndObject();
- }
-
- public override HeaderKey ReadAsPropertyName(ref Utf8JsonReader reader, Type typeToConvert,
- JsonSerializerOptions options)
- {
- var keyStr = reader.GetString() ?? throw new JsonException("Header key cannot be null or empty.");
- return HeaderKey.FromString(keyStr);
- }
-
- public override void WriteAsPropertyName(Utf8JsonWriter writer, HeaderKey value, JsonSerializerOptions options)
- {
- writer.WritePropertyName(value.ToString());
- }
-}