Skip to content

Commit 9c3ac60

Browse files
authored
Remove internal GetBase64Data helper (#422)
This can now just use DataContent.Base64Data.
1 parent 915f281 commit 9c3ac60

File tree

4 files changed

+5
-17
lines changed

4 files changed

+5
-17
lines changed

src/ModelContextProtocol/AIContentExtensions.cs

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -178,18 +178,6 @@ public static IList<AIContent> ToAIContents(this IEnumerable<ResourceContents> c
178178
return [.. contents.Select(ToAIContent)];
179179
}
180180

181-
/// <summary>Extracts the data from a <see cref="DataContent"/> as a Base64 string.</summary>
182-
internal static string GetBase64Data(this DataContent dataContent)
183-
{
184-
#if NET
185-
return Convert.ToBase64String(dataContent.Data.Span);
186-
#else
187-
return MemoryMarshal.TryGetArray(dataContent.Data, out ArraySegment<byte> segment) ?
188-
Convert.ToBase64String(segment.Array!, segment.Offset, segment.Count) :
189-
Convert.ToBase64String(dataContent.Data.ToArray());
190-
#endif
191-
}
192-
193181
internal static Content ToContent(this AIContent content) =>
194182
content switch
195183
{
@@ -201,7 +189,7 @@ internal static Content ToContent(this AIContent content) =>
201189

202190
DataContent dataContent => new()
203191
{
204-
Data = dataContent.GetBase64Data(),
192+
Data = dataContent.Base64Data.ToString(),
205193
MimeType = dataContent.MediaType,
206194
Type =
207195
dataContent.HasTopLevelMediaType("image") ? "image" :

src/ModelContextProtocol/Client/McpClientExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -976,7 +976,7 @@ internal static CreateMessageResult ToCreateMessageResult(this ChatResponse chat
976976
{
977977
Type = dc.HasTopLevelMediaType("image") ? "image" : "audio",
978978
MimeType = dc.MediaType,
979-
Data = dc.GetBase64Data(),
979+
Data = dc.Base64Data.ToString(),
980980
};
981981
}
982982
}

src/ModelContextProtocol/Server/AIFunctionMcpServerResource.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -400,7 +400,7 @@ private AIFunctionMcpServerResource(AIFunction function, ResourceTemplate resour
400400

401401
DataContent dc => new()
402402
{
403-
Contents = [new BlobResourceContents() { Uri = request.Params!.Uri, MimeType = dc.MediaType, Blob = dc.GetBase64Data() }],
403+
Contents = [new BlobResourceContents() { Uri = request.Params!.Uri, MimeType = dc.MediaType, Blob = dc.Base64Data.ToString() }],
404404
},
405405

406406
string text => new()
@@ -429,7 +429,7 @@ private AIFunctionMcpServerResource(AIFunction function, ResourceTemplate resour
429429
{
430430
Uri = request.Params!.Uri,
431431
MimeType = dc.MediaType,
432-
Blob = dc.GetBase64Data()
432+
Blob = dc.Base64Data.ToString()
433433
},
434434

435435
_ => throw new InvalidOperationException($"Unsupported AIContent type '{ac.GetType()}' returned from resource function."),

src/ModelContextProtocol/Server/McpServerExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ public static async Task<ChatResponse> RequestSamplingAsync(
110110
{
111111
Type = dataContent.HasTopLevelMediaType("image") ? "image" : "audio",
112112
MimeType = dataContent.MediaType,
113-
Data = dataContent.GetBase64Data(),
113+
Data = dataContent.Base64Data.ToString(),
114114
},
115115
});
116116
break;

0 commit comments

Comments
 (0)