Skip to content

Conversation

@matcs
Copy link

@matcs matcs commented Jan 2, 2026

What kind of change does this PR introduce?
Bug fix

What is the current behavior?
The route parser truncates the last character of the relative path when capturing the trailing constant string (the part after the last parameter). For example, a pattern like /api/({id}) is currently parsed as /api/(1 (missing the closing parenthesis) because of an off-by-one error in the loop condition (index < relativePath.Length - 1).

Resolves #2032

What is the new behavior?
The parser now correctly captures the entire remaining string up to the very last character. The pattern /api/({id}) is now correctly parsed as /api/(1), preserving the closing parenthesis.

What might this PR break?
This change should be backward compatible and is not expected to break existing functionality. The only edge case would be if a consumer was intentionally adding a dummy character at the end of their routes to workaround this bug, which is unlikely.

Please check if the PR fulfills these requirements

  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been added / updated (for bug fixes / features)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: refit 9.* malformed URL

1 participant