protected async _handleFailedRequestHandler(crawlingContext: Context, error: Error): Promise<void> {
// Always log the last error regardless if the user provided a failedRequestHandler
const { id, url, method, uniqueKey } = crawlingContext.request;
const message = this._getMessageFromError(error, true);
this.log.error(`Request failed and reached maximum retries. ${message}`, { id, url, method, uniqueKey });
if (this.failedRequestHandler) {
await this._tagUserHandlerError(() =>
this.failedRequestHandler?.(this._augmentContextWithDeprecatedError(crawlingContext, error), error),
);
}
}
protected async _handleFailedRequestHandler(crawlingContext: Context, error: Error): Promise<void> {
// Always log the last error regardless if the user provided a failedRequestHandler
const { id, url, method, uniqueKey } = crawlingContext.request;
const message = this._getMessageFromError(error, true);
this.log.error(`Request failed and reached maximum retries. ${message}`, { id, url, method, uniqueKey });
if (this.failedRequestHandler) {
await this._tagUserHandlerError(() =>
this.failedRequestHandler?.(this._augmentContextWithDeprecatedError(crawlingContext, error), error),
);
}
}