|
@@ -358,7 +358,8 @@ class BatchRequest {
|
|
|
frameId: options.windowId,
|
|
frameId: options.windowId,
|
|
|
resourceReferrer: options.resourceReferrer,
|
|
resourceReferrer: options.resourceReferrer,
|
|
|
baseURI,
|
|
baseURI,
|
|
|
- blockMixedContent
|
|
|
|
|
|
|
+ blockMixedContent,
|
|
|
|
|
+ acceptHeaders: options.acceptHeaders
|
|
|
});
|
|
});
|
|
|
onloadListener({ url: resourceURL });
|
|
onloadListener({ url: resourceURL });
|
|
|
if (!this.cancelled) {
|
|
if (!this.cancelled) {
|
|
@@ -418,7 +419,7 @@ class Processor {
|
|
|
this.options.saveDate = new Date();
|
|
this.options.saveDate = new Date();
|
|
|
this.options.saveUrl = this.options.url;
|
|
this.options.saveUrl = this.options.url;
|
|
|
if (this.options.enableMaff) {
|
|
if (this.options.enableMaff) {
|
|
|
- this.maffMetaDataPromise = this.batchRequest.addURL(util.resolveURL("index.rdf", this.options.baseURI || this.options.url));
|
|
|
|
|
|
|
+ this.maffMetaDataPromise = this.batchRequest.addURL(util.resolveURL("index.rdf", this.options.baseURI || this.options.url), { expectedType: "document" });
|
|
|
}
|
|
}
|
|
|
this.maxResources = this.batchRequest.getMaxResources();
|
|
this.maxResources = this.batchRequest.getMaxResources();
|
|
|
if (!this.options.saveRawPage && !this.options.removeFrames && this.options.frames) {
|
|
if (!this.options.saveRawPage && !this.options.removeFrames && this.options.frames) {
|
|
@@ -438,7 +439,9 @@ class Processor {
|
|
|
maxResourceSizeEnabled: this.options.maxResourceSizeEnabled,
|
|
maxResourceSizeEnabled: this.options.maxResourceSizeEnabled,
|
|
|
charset,
|
|
charset,
|
|
|
frameId: this.options.windowId,
|
|
frameId: this.options.windowId,
|
|
|
- resourceReferrer: this.options.resourceReferrer
|
|
|
|
|
|
|
+ resourceReferrer: this.options.resourceReferrer,
|
|
|
|
|
+ expectedType: "document",
|
|
|
|
|
+ acceptHeaders: this.options.acceptHeaders
|
|
|
});
|
|
});
|
|
|
pageContent = content.data;
|
|
pageContent = content.data;
|
|
|
}
|
|
}
|
|
@@ -939,7 +942,8 @@ class Processor {
|
|
|
frameId: this.options.windowId,
|
|
frameId: this.options.windowId,
|
|
|
resourceReferrer: this.options.resourceReferrer,
|
|
resourceReferrer: this.options.resourceReferrer,
|
|
|
blockMixedContent: this.options.blockMixedContent,
|
|
blockMixedContent: this.options.blockMixedContent,
|
|
|
- saveOriginalURLs: this.options.saveOriginalURLs
|
|
|
|
|
|
|
+ saveOriginalURLs: this.options.saveOriginalURLs,
|
|
|
|
|
+ acceptHeaders: this.options.acceptHeaders
|
|
|
};
|
|
};
|
|
|
let mediaText;
|
|
let mediaText;
|
|
|
if (element.media) {
|
|
if (element.media) {
|
|
@@ -1249,7 +1253,9 @@ class Processor {
|
|
|
frameId: this.options.windowId,
|
|
frameId: this.options.windowId,
|
|
|
resourceReferrer: this.options.resourceReferrer,
|
|
resourceReferrer: this.options.resourceReferrer,
|
|
|
baseURI: this.options.baseURI,
|
|
baseURI: this.options.baseURI,
|
|
|
- blockMixedContent: this.options.blockMixedContent
|
|
|
|
|
|
|
+ blockMixedContent: this.options.blockMixedContent,
|
|
|
|
|
+ expectedType: "script",
|
|
|
|
|
+ acceptHeaders: this.options.acceptHeaders
|
|
|
});
|
|
});
|
|
|
content.data = getUpdatedResourceContent(resourceURL, content, this.options);
|
|
content.data = getUpdatedResourceContent(resourceURL, content, this.options);
|
|
|
if (element.tagName == "SCRIPT") {
|
|
if (element.tagName == "SCRIPT") {
|
|
@@ -1679,7 +1685,9 @@ class ProcessorHelper {
|
|
|
charset: options.charset,
|
|
charset: options.charset,
|
|
|
resourceReferrer: options.resourceReferrer,
|
|
resourceReferrer: options.resourceReferrer,
|
|
|
baseURI: options.baseURI,
|
|
baseURI: options.baseURI,
|
|
|
- blockMixedContent: options.blockMixedContent
|
|
|
|
|
|
|
+ blockMixedContent: options.blockMixedContent,
|
|
|
|
|
+ expectedType: "stylesheet",
|
|
|
|
|
+ acceptHeaders: options.acceptHeaders
|
|
|
});
|
|
});
|
|
|
if (!matchCharsetEquals(content.data, content.charset || options.charset)) {
|
|
if (!matchCharsetEquals(content.data, content.charset || options.charset)) {
|
|
|
options = Object.assign({}, options, { charset: getCharset(content.data) });
|
|
options = Object.assign({}, options, { charset: getCharset(content.data) });
|
|
@@ -1691,7 +1699,9 @@ class ProcessorHelper {
|
|
|
charset: options.charset,
|
|
charset: options.charset,
|
|
|
resourceReferrer: options.resourceReferrer,
|
|
resourceReferrer: options.resourceReferrer,
|
|
|
baseURI: options.baseURI,
|
|
baseURI: options.baseURI,
|
|
|
- blockMixedContent: options.blockMixedContent
|
|
|
|
|
|
|
+ blockMixedContent: options.blockMixedContent,
|
|
|
|
|
+ expectedType: "stylesheet",
|
|
|
|
|
+ acceptHeaders: options.acceptHeaders
|
|
|
});
|
|
});
|
|
|
} else {
|
|
} else {
|
|
|
return content;
|
|
return content;
|
|
@@ -1753,7 +1763,9 @@ class ProcessorHelper {
|
|
|
resourceReferrer: options.resourceReferrer,
|
|
resourceReferrer: options.resourceReferrer,
|
|
|
validateTextContentType: true,
|
|
validateTextContentType: true,
|
|
|
baseURI: baseURI,
|
|
baseURI: baseURI,
|
|
|
- blockMixedContent: options.blockMixedContent
|
|
|
|
|
|
|
+ blockMixedContent: options.blockMixedContent,
|
|
|
|
|
+ expectedType: "stylesheet",
|
|
|
|
|
+ acceptHeaders: options.acceptHeaders
|
|
|
});
|
|
});
|
|
|
if (!matchCharsetEquals(content.data, content.charset || options.charset)) {
|
|
if (!matchCharsetEquals(content.data, content.charset || options.charset)) {
|
|
|
options = Object.assign({}, options, { charset: getCharset(content.data) });
|
|
options = Object.assign({}, options, { charset: getCharset(content.data) });
|
|
@@ -1916,7 +1928,8 @@ class ProcessorHelper {
|
|
|
maxResourceSize: options.maxResourceSize,
|
|
maxResourceSize: options.maxResourceSize,
|
|
|
maxResourceSizeEnabled: options.maxResourceSizeEnabled,
|
|
maxResourceSizeEnabled: options.maxResourceSizeEnabled,
|
|
|
frameId: options.windowId,
|
|
frameId: options.windowId,
|
|
|
- resourceReferrer: options.resourceReferrer
|
|
|
|
|
|
|
+ resourceReferrer: options.resourceReferrer,
|
|
|
|
|
+ acceptHeaders: options.acceptHeaders
|
|
|
})).data;
|
|
})).data;
|
|
|
} catch (error) {
|
|
} catch (error) {
|
|
|
// ignored
|
|
// ignored
|
|
@@ -1973,7 +1986,7 @@ class ProcessorHelper {
|
|
|
if (originalResourceURL.startsWith(baseURI + "#")) {
|
|
if (originalResourceURL.startsWith(baseURI + "#")) {
|
|
|
resourceElement.setAttribute(attributeName, hashMatch[0]);
|
|
resourceElement.setAttribute(attributeName, hashMatch[0]);
|
|
|
} else {
|
|
} else {
|
|
|
- const response = await batchRequest.addURL(resourceURL);
|
|
|
|
|
|
|
+ const response = await batchRequest.addURL(resourceURL, { expectedType: "image" });
|
|
|
const svgDoc = util.parseSVGContent(response.content);
|
|
const svgDoc = util.parseSVGContent(response.content);
|
|
|
if (hashMatch && hashMatch[0]) {
|
|
if (hashMatch && hashMatch[0]) {
|
|
|
let symbolElement;
|
|
let symbolElement;
|
|
@@ -1987,7 +2000,7 @@ class ProcessorHelper {
|
|
|
resourceElement.parentElement.insertBefore(symbolElement, resourceElement.parentElement.firstChild);
|
|
resourceElement.parentElement.insertBefore(symbolElement, resourceElement.parentElement.firstChild);
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
- const content = await batchRequest.addURL(resourceURL);
|
|
|
|
|
|
|
+ const content = await batchRequest.addURL(resourceURL, { expectedType: "image" });
|
|
|
resourceElement.setAttribute(attributeName, PREFIX_DATA_URI_IMAGE_SVG + "," + content);
|
|
resourceElement.setAttribute(attributeName, PREFIX_DATA_URI_IMAGE_SVG + "," + content);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|