Fix issue-743 by sanitizing the URL (#809)
<!-- Provide a brief summary of your changes --> This PR aims to fix https://github.com/modelcontextprotocol/registry/issues/743#event-20985516896 ## Motivation and Context <!-- Why is this change needed? What problem does it solve? --> This is needed to ensure we are sanitizing the URL before creating server.json to be inline with the validations. ## How Has This Been Tested? <!-- Have you tested this in a real application? Which scenarios were tested? --> Tested via UTs and also tested CLI locally to ensure the expected behavior. ## Breaking Changes <!-- Will users need to update their code or configurations? --> ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Documentation update ## Checklist <!-- Go over all the following points, and put an `x` in all the boxes that apply. --> - [ ] I have read the [MCP Documentation](https://modelcontextprotocol.io) - [x] My code follows the repository's style guidelines - [ ] New and existing tests pass locally - [ ] I have added appropriate error handling - [ ] I have added or updated documentation as needed ## Additional context <!-- Add any other context, implementation notes, or design decisions --> Co-authored-by: Avish Porwal <avishporwal@microsoft.com>
This commit is contained in:
parent
8191133cbe
commit
d092dd6390
1 changed files with 6 additions and 2 deletions
|
|
@ -213,6 +213,10 @@ func detectDescription() string {
|
|||
}
|
||||
|
||||
func detectRepoURL() string {
|
||||
sanitizeURL := func(url string) string {
|
||||
return strings.TrimPrefix(url, "git+")
|
||||
}
|
||||
|
||||
// Try git remote
|
||||
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
|
||||
defer cancel()
|
||||
|
|
@ -233,11 +237,11 @@ func detectRepoURL() string {
|
|||
if json.Unmarshal(data, &pkg) == nil {
|
||||
if repo, ok := pkg["repository"].(map[string]any); ok {
|
||||
if url, ok := repo["url"].(string); ok {
|
||||
return strings.TrimSuffix(url, ".git")
|
||||
return sanitizeURL(strings.TrimSuffix(url, ".git"))
|
||||
}
|
||||
}
|
||||
if repo, ok := pkg["repository"].(string); ok {
|
||||
return strings.TrimSuffix(repo, ".git")
|
||||
return sanitizeURL(strings.TrimSuffix(repo, ".git"))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue