fix: add timeout to registry URL validation to prevent CLI hang#2040
Open
md-amer wants to merge 2 commits intoasyncapi:masterfrom
Open
fix: add timeout to registry URL validation to prevent CLI hang#2040md-amer wants to merge 2 commits intoasyncapi:masterfrom
md-amer wants to merge 2 commits intoasyncapi:masterfrom
Conversation
Resolves asyncapi#2027. The CLI previously hung indefinitely when --registry-url pointed to an unreachable host due to no timeout on the fetch call. Changes: - Add AbortController with 5s timeout to registryValidation() - Switch from GET to HEAD for lighter validation requests - Provide clear timeout-specific error message - Add unit tests for registry URL parsing and validation
Contributor
There was a problem hiding this comment.
Welcome to AsyncAPI. Thanks a lot for creating your first pull request. Please check out our contributors guide useful for opening a pull request.
Keep in mind there are also other channels you can use to interact with AsyncAPI community. For more details check out this issue.
🦋 Changeset detectedLatest commit: 8cdcf33 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
Fixes #2027
The CLI hangs indefinitely when
--registry-urlpoints to an unreachable host (e.g.,http://10.255.255.1) becauseregistryValidation()callsfetch()with no timeout orAbortController.Changes
AbortControllerwith a 5-second timeout to thefetchcall inregistryValidation()GETtoHEADfor a lighter validation request (we only need to check reachability, not download the response body)Registry URL timed out after 5s: <url>clearTimeoutin afinallyblock to prevent timer leaksBefore
After
Test plan
registryURLParser()— validates URL format handlingregistryValidation()— confirms timeout behavior with unreachable host🤖 Generated with Claude Code