Problem/Motivation
Some links, while detected and in the list to check, are never checked. Some of them are invalid domains. Some of them are working links.
Using a link such as http://127.0.0.1:1/broken can't currently be checked.
Steps to reproduce
Make a basic page with links to http://nonexistentdomainasdf.com, http://eia.gov or http://127.0.0.1:1/broken
Re-scan to add links to list
Run cron
See that links are still listed as "Never" checked
Proposed resolution
Add a more global error catching mechanism. And rather than defaulting to 502, show the actual status code from the exception where possible (if it's status code 0 or undefined, then show that rather than default to 502).
Remaining tasks
Provide MR and tests
User interface changes
N/A
API changes
N/A
Data model changes
N/A
| Comment | File | Size | Author |
|---|
Issue fork linkchecker-3469263
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
marc.bauWhat links are never checked? Example?
If non-existend you should get an error. e.g. host name lookup failed.
Comment #3
eahonet commentedAny updates to this one @ashbeeb ? I have a non-existent url (a .com) that continues to show "Last Checked" as "Never".
Comment #4
schlaukopf commentedI was able to reproduce the same error and found that the issue occurs with domains that don’t exist. Guzzle was unable to resolve the host, which resulted in a ConnectException being thrown instead of a RequestException. This patch addresses the issue by handling TransferException, which will cover both cases.
Comment #5
divya.sejekan commentedThe Patch is applied successfully. Links never checked issue looks resolved , now the links are verified and related error messages . Tried with bunch of different types of URLS.
Steps to reproduce:
1. Make a basic page with links to http://nonexistentdomainasdf.com and http://eia.gov
2. Re-scan to add links to list
3. Run cron
4. See that links are still listed as "Never" checked
RTBC++
Comment #6
eiriksmGreat work, thanks everyone
If someone could convert this into a merge request, that would be a great start.
It also would be nice to add some tests here. I hope that should be fairly easy, adding to the existing coverage.
Finally. A bit unsure if showing a 502 is more helpful than showing it was never checked. Don't we have other codes for such errors in the codebase already? 🤓
Comment #9
saidatomComment #11
saidatom@eiriksm MR provided with tests. Everything green.
Comment #12
claudiu.cristeaThe MR needs rebase
Comment #13
claudiu.cristeaComment #14
claudiu.cristeaChanged the status by mistake
Comment #16
codebymikey commentedComment #18
codebymikey commentedAttached static patch
Comment #19
claudiu.cristeaLooks good and tested on a big project
Comment #22
joelpittetThank you all for your work and patience here. I have merged this into the 2.1.x dev branch