Skip to content

Commit f02b7bc

Browse files
committed
finish passing through refersTo uuid
1 parent 9b81b6f commit f02b7bc

5 files changed

Lines changed: 40 additions & 5 deletions

File tree

src/crawler.ts

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1294,6 +1294,7 @@ self.__bx_behaviors.selectMainBehavior();
12941294
"text",
12951295
false,
12961296
this.params.text.includes("to-warc"),
1297+
data.originalWarcRecordId,
12971298
);
12981299

12991300
if (text !== null && (this.textInPages || saveOutput)) {
@@ -1303,7 +1304,11 @@ self.__bx_behaviors.selectMainBehavior();
13031304
if (this.params.text.includes("to-warc-from-raw")) {
13041305
logger.info(
13051306
"Extracting text from raw response",
1306-
{ url, hasRequestId: !!data.documentRequestId },
1307+
{
1308+
url,
1309+
hasRequestId: !!data.documentRequestId,
1310+
refersTo: String(data.originalWarcRecordId),
1311+
},
13071312
"text",
13081313
);
13091314
textExtract = new TextExtractViaResponse(cdp, {
@@ -1317,10 +1322,15 @@ self.__bx_behaviors.selectMainBehavior();
13171322
"text-from-response",
13181323
false,
13191324
this.params.text.includes("to-warc-from-raw"),
1325+
data.originalWarcRecordId,
13201326
);
13211327
logger.info(
13221328
"Extracted text from raw response result",
1323-
{ url, hasText: textFromResponse !== null },
1329+
{
1330+
url,
1331+
hasText: textFromResponse !== null,
1332+
refersTo: String(data.originalWarcRecordId),
1333+
},
13241334
"text",
13251335
);
13261336
if (textFromResponse !== null && (this.textInPages || saveOutput)) {
@@ -1356,7 +1366,12 @@ self.__bx_behaviors.selectMainBehavior();
13561366
}
13571367

13581368
if (textExtract && this.params.text.includes("final-to-warc")) {
1359-
await textExtract.extractAndStoreText("textFinal", true, true);
1369+
await textExtract.extractAndStoreText(
1370+
"textFinal",
1371+
true,
1372+
true,
1373+
data.originalWarcRecordId,
1374+
);
13601375
}
13611376

13621377
if (

src/replaycrawler.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,7 @@ export class ReplayCrawler extends Crawler {
236236
}
237237

238238
async _addPageIfInScope({ url, ts, id, mime }: ReplayPage, depth: number) {
239+
logger.debug("Adding page to queue", { url, id, hasId: !!id }, "replay");
239240
if (mime && mime !== "text/html") {
240241
logger.info("Skipping non-HTML page", { url, mime }, "replay");
241242
return;
@@ -779,7 +780,7 @@ export class ReplayCrawler extends Crawler {
779780
);
780781
logger.info(
781782
"Wrote HTML to WARC",
782-
{ url, length: htmlContent.length },
783+
{ url, length: htmlContent.length, refersTo: originalWarcRecordId },
783784
"replay",
784785
);
785786
}
@@ -967,6 +968,11 @@ export class ReplayCrawler extends Crawler {
967968
{ type: "pageinfo", url: pageInfo.url },
968969
"replay",
969970
);
971+
logger.debug(
972+
"Wrote pageinfo to WARC",
973+
{ url: pageInfo.url, refersTo: state?.originalWarcRecordId },
974+
"replay",
975+
);
970976

971977
this.pageInfos.delete(page);
972978
}

src/util/state.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,15 @@ export class PageState {
125125
this.status = 0;
126126
this.retry = redisData.retry || 0;
127127
this.originalWarcRecordId = redisData.originalWarcRecordId;
128+
logger.debug(
129+
"PageState created",
130+
{
131+
url: this.url,
132+
pageid: this.pageid,
133+
originalWarcRecordId: String(this.originalWarcRecordId),
134+
},
135+
"state",
136+
);
128137
}
129138
}
130139

@@ -1296,6 +1305,9 @@ return inx;
12961305
if (pageid) {
12971306
data.pageid = pageid;
12981307
}
1308+
if (originalWarcRecordId) {
1309+
data.originalWarcRecordId = originalWarcRecordId;
1310+
}
12991311

13001312
// return codes
13011313
// 0 - url queued successfully

src/util/textextract.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ export abstract class BaseTextExtract {
3333
resourceType: string,
3434
ignoreIfMatchesLast = false,
3535
saveToWarc = false,
36+
refersTo?: string,
3637
) {
3738
try {
3839
const text = await this.doGetText();
@@ -53,6 +54,7 @@ export abstract class BaseTextExtract {
5354
resourceType,
5455
contentType: "text/plain",
5556
url: this.url,
57+
refersTo,
5658
},
5759
{
5860
resource: "text",

src/util/warcwriter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ export class WARCWriter implements IndexerOffsetLength {
265265
const warcRecordType = "resource";
266266
const warcHeaders: Record<string, string> = { "Content-Type": contentType };
267267
if (refersTo) {
268-
warcHeaders["WARC-Refers-To"] = refersTo;
268+
warcHeaders["WARC-Refers-To"] = `<url:uuid:${refersTo}>`;
269269
}
270270
async function* content() {
271271
yield buffer;

0 commit comments

Comments
 (0)