Initial commit
This commit is contained in:
commit
fdbd94b3f9
1 changed files with 2833 additions and 0 deletions
31
src/mcpdotnet/Utils/Json/JsonSerializerOptionsExtensions.cs
Normal file
31
src/mcpdotnet/Utils/Json/JsonSerializerOptionsExtensions.cs
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
namespace McpDotNet.Utils.Json;
|
||||
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
/// <summary>
|
||||
/// Extensions for configuring System.Text.Json serialization options for MCP.
|
||||
/// </summary>
|
||||
public static class JsonSerializerOptionsExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// Configures JsonSerializerOptions with MCP-specific settings and converters.
|
||||
/// </summary>
|
||||
/// <param name="options">The options to configure.</param>
|
||||
/// <returns>The configured options.</returns>
|
||||
public static JsonSerializerOptions ConfigureForMcp(this JsonSerializerOptions options)
|
||||
{
|
||||
// Add custom converters
|
||||
options.Converters.Add(new JsonRpcMessageConverter());
|
||||
options.Converters.Add(new ContentJsonConverter());
|
||||
options.Converters.Add(new ResourceContentsJsonConverter());
|
||||
options.Converters.Add(new JsonStringEnumConverter());
|
||||
|
||||
// Configure general options
|
||||
options.PropertyNameCaseInsensitive = true;
|
||||
options.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull;
|
||||
options.NumberHandling = JsonNumberHandling.AllowReadingFromString;
|
||||
|
||||
return options;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue