Fix: Error: Callback was already called#540
Merged
BaseMax merged 4 commits intotcort:masterfrom Nov 18, 2025
Merged
Conversation
In certain odd cases, like a website returning a 302 and/or closing the connection after a HEAD (I'm not 100% sure), linkCheck will call our callback twice. `async` is not amused and will throw: > Error: Callback was already called A campaign of ad-hoc `console.log()`s suggest this is a bug in needle, a library used by link-check. Fixes tcort#222 and tcort#473
Collaborator
|
Many thanks. Lets to fully test it to make sure it's ready to be merged. |
Contributor
Author
|
@BaseMax I finally managed to precisely trigger the bug in needle. Seems like it only occurs when a server response to HEAD with a 302 and a body, which is against the HTTP spec. I added a test case of that. I was hoping I could also squeeze in an PTAL! |
Collaborator
|
Many thanks again for your tests as well. |
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.
In certain odd cases, like a website returning a 302 and/or closing the connection after a HEAD (I'm not 100% sure), linkCheck will call our callback twice.
asyncis not amused and will throw:A campaign of ad-hoc
console.log()s suggest this is a bug in needle, a library used by link-check.Fixes #222 and #473