Skip to content

Commit cf13c6b

Browse files
Copilotstephentoub
andauthored
Restore null conditional/forgiving operators on Params member access in src/
Agent-Logs-Url: https://github.com/modelcontextprotocol/csharp-sdk/sessions/57676fa6-299c-40eb-ba0b-a7cbedbcef91 Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
1 parent 94a3e90 commit cf13c6b

File tree

4 files changed

+9
-9
lines changed

4 files changed

+9
-9
lines changed

src/ModelContextProtocol.Core/Server/AIFunctionMcpServerPrompt.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ public override async ValueTask<GetPromptResult> GetAsync(
201201
request.Services = new RequestServiceProvider<GetPromptRequestParams>(request);
202202
AIFunctionArguments arguments = new() { Services = request.Services };
203203

204-
if (request.Params.Arguments is { } argDict)
204+
if (request.Params?.Arguments is { } argDict)
205205
{
206206
foreach (var kvp in argDict)
207207
{

src/ModelContextProtocol.Core/Server/AIFunctionMcpServerResource.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -386,22 +386,22 @@ public override async ValueTask<ReadResourceResult> ReadAsync(
386386

387387
TextContent tc => new()
388388
{
389-
Contents = [new TextResourceContents { Uri = request.Params.Uri, MimeType = ProtocolResourceTemplate.MimeType, Text = tc.Text }],
389+
Contents = [new TextResourceContents { Uri = request.Params!.Uri, MimeType = ProtocolResourceTemplate.MimeType, Text = tc.Text }],
390390
},
391391

392392
DataContent dc => new()
393393
{
394394
Contents = [new BlobResourceContents
395395
{
396-
Uri = request.Params.Uri,
396+
Uri = request.Params!.Uri,
397397
MimeType = dc.MediaType,
398398
Blob = EncodingUtilities.GetUtf8Bytes(dc.Base64Data.Span)
399399
}],
400400
},
401401

402402
string text => new()
403403
{
404-
Contents = [new TextResourceContents { Uri = request.Params.Uri, MimeType = ProtocolResourceTemplate.MimeType, Text = text }],
404+
Contents = [new TextResourceContents { Uri = request.Params!.Uri, MimeType = ProtocolResourceTemplate.MimeType, Text = text }],
405405
},
406406

407407
IEnumerable<ResourceContents> contents => new()
@@ -416,14 +416,14 @@ public override async ValueTask<ReadResourceResult> ReadAsync(
416416
{
417417
TextContent tc => new TextResourceContents
418418
{
419-
Uri = request.Params.Uri,
419+
Uri = request.Params!.Uri,
420420
MimeType = ProtocolResourceTemplate.MimeType,
421421
Text = tc.Text
422422
},
423423

424424
DataContent dc => new BlobResourceContents
425425
{
426-
Uri = request.Params.Uri,
426+
Uri = request.Params!.Uri,
427427
MimeType = dc.MediaType,
428428
Blob = EncodingUtilities.GetUtf8Bytes(dc.Base64Data.Span)
429429
},
@@ -436,7 +436,7 @@ public override async ValueTask<ReadResourceResult> ReadAsync(
436436
{
437437
Contents = strings.Select<string, ResourceContents>(text => new TextResourceContents
438438
{
439-
Uri = request.Params.Uri,
439+
Uri = request.Params!.Uri,
440440
MimeType = ProtocolResourceTemplate.MimeType,
441441
Text = text
442442
}).ToList(),

src/ModelContextProtocol.Core/Server/AIFunctionMcpServerTool.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ public override async ValueTask<CallToolResult> InvokeAsync(
262262
request.Services = new RequestServiceProvider<CallToolRequestParams>(request);
263263
AIFunctionArguments arguments = new() { Services = request.Services };
264264

265-
if (request.Params.Arguments is { } argDict)
265+
if (request.Params?.Arguments is { } argDict)
266266
{
267267
foreach (var kvp in argDict)
268268
{

src/ModelContextProtocol.Core/Server/RequestServiceProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public static bool IsAugmentedWith(Type serviceType) =>
2727
serviceType == typeof(RequestContext<TRequestParams>) ? request :
2828
serviceType == typeof(McpServer) ? request.Server :
2929
serviceType == typeof(IProgress<ProgressNotificationValue>) ?
30-
(request.Params.ProgressToken is { } progressToken ? new TokenProgress(request.Server, progressToken) : NullProgress.Instance) :
30+
(request.Params?.ProgressToken is { } progressToken ? new TokenProgress(request.Server, progressToken) : NullProgress.Instance) :
3131
serviceType == typeof(ClaimsPrincipal) ? request.User :
3232
_innerServices?.GetService(serviceType);
3333

0 commit comments

Comments
 (0)