fix: add timeout to registry URL validation to prevent CLI hang#2040
fix: add timeout to registry URL validation to prevent CLI hang#2040md-amer wants to merge 1 commit 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
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.
|
|



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