From b575f6e52e591163185534272d9eb63b508f29ad Mon Sep 17 00:00:00 2001 From: Stephen Halter Date: Mon, 20 Oct 2025 14:05:50 -0500 Subject: [PATCH] Call Regex.IsMatch when Match is not needed (#903) --- .../Server/AIFunctionMcpServerResource.cs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/ModelContextProtocol.Core/Server/AIFunctionMcpServerResource.cs b/src/ModelContextProtocol.Core/Server/AIFunctionMcpServerResource.cs index 288a864..5108068 100644 --- a/src/ModelContextProtocol.Core/Server/AIFunctionMcpServerResource.cs +++ b/src/ModelContextProtocol.Core/Server/AIFunctionMcpServerResource.cs @@ -317,15 +317,21 @@ internal sealed class AIFunctionMcpServerResource : McpServerResource public override bool IsMatch(string uri) { Throw.IfNull(uri); - return TryMatch(uri, out _); - } - private bool TryMatch(string uri, out Match? match) - { // For templates, use the Regex to parse. For static resources, we can just compare the URIs. if (_uriParser is null) { // This resource is not templated. + return UriTemplate.UriTemplateComparer.Instance.Equals(uri, ProtocolResourceTemplate.UriTemplate); + } + + return _uriParser.IsMatch(uri); + } + + private bool TryMatch(string uri, out Match? match) + { + if (_uriParser is null) + { match = null; return UriTemplate.UriTemplateComparer.Instance.Equals(uri, ProtocolResourceTemplate.UriTemplate); }