csharp-sdk/src/ModelContextProtocol.Core/Protocol/DebuggerDisplayHelper.cs
Copilot 1b52ddacba
Add DebuggerDisplay attributes to Protocol types (#1068)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
Co-authored-by: Stephen Halter <halter73@gmail.com>
2025-12-05 15:09:46 -08:00

30 lines
714 B
C#

using System;
namespace ModelContextProtocol.Protocol;
/// <summary>
/// Internal helper methods for DebuggerDisplay implementations.
/// </summary>
internal static class DebuggerDisplayHelper
{
/// <summary>
/// Gets the decoded length of base64 data for debugger display.
/// </summary>
internal static string GetBase64LengthDisplay(string base64Data)
{
#if NET
if (System.Buffers.Text.Base64.IsValid(base64Data, out int decodedLength))
{
return $"{decodedLength} bytes";
}
#else
try
{
return $"{Convert.FromBase64String(base64Data).Length} bytes";
}
catch { }
#endif
return "invalid base64";
}
}