mirror of
https://github.com/internetarchive/heritrix3.git
synced 2026-07-18 05:27:11 +00:00
HER-1964 record whois server ip address in warc
* FetchWhois.java
fetch() - record server ip address in CrawlURI attributes list
* CoreAttributeConstants.java
new string constant A_WHOIS_SERVER_IP, key for whois server ip address CrawlURI attribute
* WARCWriterProcessor.java
writeWhoisRecords() - include warc header WARC-IP-Address
This commit is contained in:
@@ -112,4 +112,6 @@ public interface CoreAttributeConstants {
|
||||
|
||||
public static final String A_FTP_CONTROL_CONVERSATION = "ftp-control-conversation";
|
||||
public static final String A_FTP_FETCH_STATUS = "ftp-fetch-status";
|
||||
|
||||
public static final String A_WHOIS_SERVER_IP = "whois-server-ip";
|
||||
}
|
||||
|
||||
@@ -121,6 +121,7 @@ import com.sleepycat.je.DatabaseException;
|
||||
*/
|
||||
public class FetchWhois extends Processor implements CoreAttributeConstants,
|
||||
FetchStatusCodes, Lifecycle {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private static Logger logger = Logger.getLogger(FetchWhois.class.getName());
|
||||
@@ -329,6 +330,9 @@ public class FetchWhois extends Processor implements CoreAttributeConstants,
|
||||
|
||||
client.setSoTimeout(getSoTimeoutMs()); // must be after connect()
|
||||
|
||||
curi.getData().put(CoreAttributeConstants.A_WHOIS_SERVER_IP,
|
||||
client.getRemoteAddress().getHostAddress());
|
||||
|
||||
recorder.inputWrap(client.getInputStream(whoisQuery));
|
||||
|
||||
// look for info about whois server in the response
|
||||
|
||||
@@ -77,6 +77,7 @@ import org.archive.io.ReplayInputStream;
|
||||
import org.archive.io.warc.WARCWriter;
|
||||
import org.archive.io.warc.WARCWriterPool;
|
||||
import org.archive.io.warc.WARCWriterPoolSettings;
|
||||
import org.archive.modules.CoreAttributeConstants;
|
||||
import org.archive.modules.CrawlMetadata;
|
||||
import org.archive.modules.CrawlURI;
|
||||
import org.archive.modules.ProcessResult;
|
||||
@@ -330,7 +331,12 @@ public class WARCWriterProcessor extends WriterPoolProcessor implements WARCWrit
|
||||
|
||||
private void writeWhoisRecords(WARCWriter w, CrawlURI curi, URI baseid,
|
||||
String timestamp) throws IOException {
|
||||
writeResponse(w, timestamp, curi.getContentType(), baseid, curi, null);
|
||||
ANVLRecord headers = new ANVLRecord(1);
|
||||
Object whoisServerIP = curi.getData().get(CoreAttributeConstants.A_WHOIS_SERVER_IP);
|
||||
if (whoisServerIP != null) {
|
||||
headers.addLabelValue(HEADER_KEY_IP, whoisServerIP.toString());
|
||||
}
|
||||
writeResponse(w, timestamp, curi.getContentType(), baseid, curi, headers);
|
||||
}
|
||||
|
||||
private void writeHttpRecords(final CrawlURI curi, WARCWriter w,
|
||||
|
||||
Reference in New Issue
Block a user