Skip to content

Commit 223c49e

Browse files
committed
handle empty href as the RFC states (self-referencing document)
1 parent 17a5d65 commit 223c49e

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

src/nl/melp/linkchecker/LinkChecker.java

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -316,11 +316,18 @@ public void report(boolean all) {
316316
private boolean addUrl(URI context, String linkedUrl) {
317317
URI uri;
318318

319-
try {
320-
uri = context.resolve(linkedUrl);
321-
} catch (IllegalArgumentException e) {
322-
registerInvalidUrl(context, linkedUrl, e.getMessage());
323-
return false;
319+
if (linkedUrl.isBlank()) {
320+
// According to the RFC, and empty link resolves to the top of the current document;
321+
// see https://stackoverflow.com/questions/5637969/is-an-empty-href-valid
322+
uri = context;
323+
} else {
324+
try {
325+
uri = context.resolve(linkedUrl);
326+
logger.trace("Link from " + context + " to '" + linkedUrl + " resolved to '" + uri + "'");
327+
} catch (IllegalArgumentException e) {
328+
registerInvalidUrl(context, linkedUrl, e.getMessage());
329+
return false;
330+
}
324331
}
325332

326333
if (!"".equals(uri.getFragment()) && uri.getFragment() != null) {

0 commit comments

Comments
 (0)