mirror of
https://github.com/internetarchive/heritrix3.git
synced 2026-09-24 14:45:56 +00:00
HER-1010 crawl favicon.ico
* ExtractorHTTP.java
consider /favicon.ico 'discovered' from every other HTTP fetch
* Extractor.java
utility method addOutlink()
This commit is contained in:
@@ -125,6 +125,24 @@ public abstract class Extractor extends Processor {
|
||||
*/
|
||||
protected abstract void extract(CrawlURI uri);
|
||||
|
||||
|
||||
/**
|
||||
* Create and add a 'Link' to the CrawlURI with given URI/context/hop-type
|
||||
* @param curi
|
||||
* @param uri
|
||||
* @param context
|
||||
* @param hop
|
||||
*/
|
||||
protected void addOutlink(CrawlURI curi, String uri, LinkContext context,
|
||||
Hop hop) {
|
||||
try {
|
||||
UURI dest = UURIFactory.getInstance(curi.getUURI(), uri);
|
||||
Link link = new Link(curi.getUURI(), dest, context, hop);
|
||||
curi.getOutLinks().add(link);
|
||||
} catch (URIException e) {
|
||||
logUriError(e, curi.getUURI(), uri);
|
||||
}
|
||||
}
|
||||
|
||||
public void logUriError(URIException e, UURI uuri,
|
||||
CharSequence l) {
|
||||
|
||||
@@ -52,8 +52,12 @@ public class ExtractorHTTP extends Extractor {
|
||||
@Override
|
||||
protected void extract(CrawlURI curi) {
|
||||
HttpMethod method = curi.getHttpMethod();
|
||||
// discover headers if present
|
||||
addHeaderLink(curi, method.getResponseHeader("Location"));
|
||||
addHeaderLink(curi, method.getResponseHeader("Content-Location"));
|
||||
|
||||
// try /favicon.ico for every HTTP(S) URI
|
||||
addOutlink(curi, "/favicon.ico", LinkContext.EMBED_MISC, Hop.EMBED);
|
||||
}
|
||||
|
||||
protected void addHeaderLink(CrawlURI curi, Header loc) {
|
||||
|
||||
Reference in New Issue
Block a user